Rebel Fork Framework
Urho3D::ClientSynchronizationState Class Reference

Clock synchronization state specific to individual client connection. More...

#include <Urho3D/Replica/ServerReplicator.h>

Inheritance diagram for Urho3D::ClientSynchronizationState:
Urho3D::RefCounted Urho3D::ClientReplicationState

Public Member Functions

 ClientSynchronizationState (NetworkObjectRegistry *objectRegistry, AbstractConnection *connection, const VariantMap &settings)
 
void BeginNetworkFrame (NetworkFrame currentFrame, float overtime)
 Begin network frame. Overtime indicates how much time has passed since actual frame start time.
 
const VariantGetSetting (const NetworkSetting &setting) const
 
bool IsSynchronized () const
 
NetworkFrame GetCurrentFrame () const
 
unsigned GetInputDelay () const
 
unsigned GetInputBufferSize () const
 
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
 
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
 
 RefCounted (const RefCounted &rhs)=delete
 Prevent copy construction.
 
RefCountedoperator= (const RefCounted &rhs)=delete
 Prevent assignment.
 
int AddRef ()
 
int ReleaseRef ()
 
int Refs () const
 
int WeakRefs () const
 
RefCountRefCountPtr () const
 Return pointer to the reference count structure.
 
bool HasScriptObject () const
 Return true if script runtime object wrapping this native object exists.
 
bool IsScriptStrongRef () const
 Return true if script reference is strong.
 

Protected Member Functions

void SendMessages ()
 Send messages to connection for current frame.
 
bool ProcessMessage (NetworkMessageId messageId, MemoryBuffer &messageData)
 Process messages for this client.
 
void OnInputReceived (NetworkFrame inputFrame)
 Notify statistics aggregator that user input has received for specified frame.
 

Protected Attributes

const WeakPtr< NetworkObjectRegistryobjectRegistry_
 
const WeakPtr< AbstractConnectionconnection_
 
VariantMap settings_
 
const unsigned updateFrequency_ {}
 

Private Member Functions

void UpdateInputDelay ()
 
void UpdateInputBuffer ()
 
void ProcessSynchronized (const MsgSynchronized &msg)
 
unsigned MakeMagic () const
 

Private Attributes

ea::optional< unsigned > synchronizationMagic_
 
bool synchronized_ {}
 
NetworkFrame frame_ {}
 
unsigned frameLocalTime_ {}
 
ea::optional< unsigned > latestProcessedPingTimestamp_
 
FilteredUint inputDelayFilter_
 
unsigned inputDelay_ {}
 
ClientInputStatistics inputStats_
 
FilteredUint inputBufferFilter_
 
unsigned inputBufferSize_ {}
 
float clockTimeAccumulator_ {}
 

Static Private Attributes

static constexpr unsigned InputStatsSafetyLimit = 64
 

Detailed Description

Clock synchronization state specific to individual client connection.

Member Function Documentation

◆ GetSetting()

const Variant & Urho3D::ClientSynchronizationState::GetSetting ( const NetworkSetting setting) const

Return current state and properties


The documentation for this class was generated from the following files: