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, ReplicatedPeerPtr 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 Variant & GetSetting (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.
RefCounted & operator= (const RefCounted &rhs)=delete
 Prevent assignment.
int AddRef () const
int ReleaseRef () const
int Refs () const
int WeakRefs () const
RefCount * RefCountPtr () 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< NetworkObjectRegistry > objectRegistry_
const ReplicatedPeerWeakPtr peer_
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:
  • Urho3D/Replica/ServerReplicator.h
  • Urho3D/Replica/ServerReplicator.cpp