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: