11 #include "RNPlatform/Inc/MemoryTracking.h"
12 #ifndef __DATABLOCK_H__
13 #define __DATABLOCK_H__
16 #include "RNPlatform/Inc/SysTime.h"
17 #include "RNPlatform/Inc/MinimalRTTI.h"
19 namespace RNReplicaNet
23 class DynamicMessageHelper;
27 const int kDataBlockReason_SomeoneJoined = 0;
28 const int kDataBlockReason_SomeoneLeft = 1;
29 const int kDataBlockReason_NormalPoll = 2;
30 const int kDataBlockReason_CalculateReplicaPoll = 4;
31 const int kDataBlockReason_CalculateMasterPoll = 5;
32 const int kDataBlockReason_MasterPrepAfterTakeover = 6;
33 const int kDataBlockReason_ReplicaCallBackPoll = 7;
34 const int kDataBlockReason_ReplicaPrepAfterTakeover = 8;
35 const int kDataBlockReason_RecordingNormalPoll = 9;
36 const int kDataBlockReason_AfterDataBlocksReceived = 10;
38 struct DataBlockReason;
51 RN_CLASS_MINIMAL_RTTI_BASE_CLASS()
52 virtual int GetThisClassType(
void);
70 virtual void Poll(
DataBlockReason *reason = 0,
const bool discardOlderIncluded =
false,
const unsigned int discardOrder = 0);
203 bool GetForceReflectionUpdate(
void);
211 bool GetReflectionMasterUpdate(
void);
289 void SetBand(
const unsigned int band = 0);
295 unsigned int GetBand(
void)
const;
322 void EmitBaseDebugInfo(
const char *name,
const char *className,
DataBlockReason *reason);
323 void EmitBaseDebugInfoUpdates(
const char *name,
const char *className,
DataBlockReason *reason);
325 std::string GetVariableName(
void);
333 bool mAutomaticUpdates;
337 float mUpdateDelayMinimum;
338 int mForceSendMaximumUpdates;
339 float mForceSendTimeDelay;
343 unsigned int mDiscardOlderMidPoint;
344 unsigned int mDiscardOlderEndPoint;
345 size_t mDiscardOlderRealSize;
346 unsigned int mLocalisedOrderingSent;
347 unsigned int mLocalisedOrderingReceived;
348 bool mDiscardThisUpdate;
350 bool mForceReflectionUpdate;
351 bool mReflectionMasterUpdate;
379 SysTimeType mFloatTime;
380 SysTimeType mFloatLocalTime;
385 #define _RO_DO_REGISTERBLOCK_END() \
386 RegisterDataBlock(datablock); \
void SetReliableFlag(bool reliable=false)
Definition: DataBlock.h:188
ContinuityBreakTypes
Definition: DataBlock.h:184
Definition: DataBlock.h:357
void SetVariableName(const char *name=0)
SysTimeType mFloatValue
Definition: DataBlock.h:378
float GetUpdateDelayMinimum(void) const
virtual bool IsAllocated(void) const
bool GetDiscardThisUpdate(void) const
int mReasonCode
Definition: DataBlock.h:374
virtual void OwnerChanged(const int sessionID)
void GiveDeltaHint(float delta)
Definition: DataBlock.h:176
int GetForceSendMaximumUpdates(void) const
Definition: MessageHelper.h:35
void SetIsAllocated(const bool isAllocated=true)
int mSessionReference
Definition: DataBlock.h:375
virtual void Poll(DataBlockReason *reason=0, const bool discardOlderIncluded=false, const unsigned int discardOrder=0)
virtual void GiveDeltaHint(void *pdata, int dataLen)
ReplicaObject * mObserver
Definition: DataBlock.h:377
Definition: DataBlock.h:187
void SetUpdateDelayMinimum(const float delay=0.0f)
Definition: ROLCompilerDoc.cpp:288
void BindReplicaNet(ReplicaNet *current)
Definition: DataBlock.h:186
DynamicMessageHelper * mMessageHelper
Definition: DataBlock.h:376
void SetReflectionMasterUpdate(const bool enable=false)
Definition: ReplicaObject.h:43
Definition: ReplicaNet.h:110
bool ShouldDiscard(MessageHelper *message)
virtual void ContinuityBreak(unsigned char breakTypes)
virtual void ParseMessage(MessageHelper *message)
void SetBand(const unsigned int band=0)
float GetForceSendTimeDelay(void) const
bool GetReliableFlag(void) const
bool GetOrderedFlag(void) const
void SetAutomaticUpdatesFlag(bool automatic=true)
bool GetAutomaticUpdatesFlag(void) const
void SetOrderedFlag(bool ordered=false)
void SetForceSendTimeDelay(const float delay=0.0f)
void SetForceReflectionUpdate(const bool enable=false)
bool GetCertainFlag(void) const
void SetCertainFlag(bool certain=false)
void SetDiscardOlder(const int windowBits=0)
void BindReplicaObject(ReplicaObject *object)
void SetForceSendMaximumUpdates(const int updates=0)
Definition: MessageHelper.h:211
Definition: DataBlock.h:47
virtual bool IsAttached(void *data)
int GetDiscardOlder(void) const
DataBlockReason(int code=kDataBlockReason_NormalPoll, int session=-1, ReplicaObject *object=0)
Definition: DataBlock.h:365
unsigned int GetBand(void) const