11#if UE_NET_VALIDATE_DC_BASELINES
12#include "Containers/Map.h"
17 struct FReplicationProtocol;
106 using ObjectInfoIndexType =
uint16;
110 InvalidObjectInfoIndex = 0,
112 ObjectInfoGrowCount = 256,
115 enum class EStateBufferType :
unsigned
123 struct FPerObjectInfo
125 const FReplicationProtocol* Protocol =
nullptr;
126 const uint8* StateBuffers[(
unsigned)EStateBufferType::Count] = {};
127 uint16 AllocationCount = 0;
130 FPerObjectInfo* GetOrCreatePerObjectInfoForObject(
uint32 ObjectIndex);
131 FPerObjectInfo* GetPerObjectInfoForObject(
uint32 ObjectIndex);
132 const FPerObjectInfo* GetPerObjectInfoForObject(
uint32 ObjectIndex)
const;
133 void FreePerObjectInfoForObject(
uint32 ObjectIndex);
135 ObjectInfoIndexType AllocPerObjectInfo();
136 void FreePerObjectInfo(ObjectInfoIndexType
Index);
139 void CloneDefaultState(
const FReplicationProtocol* Protocol,
uint8* TargetState);
140 void FreeState(
const FReplicationProtocol* Protocol,
uint8* State);
143#if UE_NET_VALIDATE_DC_BASELINES
147 const Private::FNetRefHandleManager* NetRefHandleManager =
nullptr;
149 FNetSerializationContext SerializationContext;
150 Private::FInternalNetSerializationContext InternalSerializationContext;
152 FNetBitArray UsedPerObjectInfos;
154 TChunkedArray<FPerObjectInfo, ObjectInfoGrowCount*
sizeof(FPerObjectInfo)> ObjectInfos;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_FORCEINLINE_HINT uint64 GetState() const
Definition LockFreeList.h:46
void Init()
Definition LockFreeList.h:4
Definition ChunkedArray.h:56
Definition ReplicationStateStorage.h:51
const uint8 * BaselineBaseStorage
Definition ReplicationStateStorage.h:61
bool IsValid() const
Definition ReplicationStateStorage.h:53
uint8 * ReservedStorage
Definition ReplicationStateStorage.h:56
Definition ReplicationStateStorage.h:48
~FReplicationStateStorage()
Definition ReplicationStateStorage.cpp:21
void CommitBaselineReservation(uint32 ObjectIndex, uint8 *Storage, EReplicationStateType Base)
Definition ReplicationStateStorage.cpp:271
void CancelBaselineReservation(uint32 ObjectIndex, uint8 *Storage)
Definition ReplicationStateStorage.cpp:248
void OnMaxInternalNetRefIndexIncreased(UE::Net::Private::FInternalNetRefIndex NewMaxInternalIndex)
Definition ReplicationStateStorage.cpp:50
FReplicationStateStorage()
Definition ReplicationStateStorage.cpp:16
void Deinit()
Definition ReplicationStateStorage.cpp:43
FBaselineReservation ReserveBaseline(uint32 ObjectIndex, EReplicationStateType Base)
Definition ReplicationStateStorage.cpp:193
uint8 * AllocBaseline(uint32 ObjectIndex, EReplicationStateType Base)
Definition ReplicationStateStorage.cpp:102
void FreeBaseline(uint32 ObjectIndex, uint8 *Storage)
Definition ReplicationStateStorage.cpp:169
Definition NetRefHandleManager.h:72
Definition ReplicationSystem.h:70
Definition OverriddenPropertySet.cpp:45
uint32 FInternalNetRefIndex
Definition ReplicationStateStorage.h:20
Definition NetworkVersion.cpp:28
EReplicationStateType
Definition ReplicationStateStorage.h:39
U16 Index
Definition radfft.cpp:71
Definition ReplicationStateStorage.h:29
uint32 MaxDeltaCompressedObjectCount
Definition ReplicationStateStorage.h:35
UReplicationSystem * ReplicationSystem
Definition ReplicationStateStorage.h:30
uint32 MaxConnectionCount
Definition ReplicationStateStorage.h:34
uint32 MaxObjectCount
Definition ReplicationStateStorage.h:32
const Private::FNetRefHandleManager * NetRefHandleManager
Definition ReplicationStateStorage.h:31
uint32 MaxInternalNetRefIndex
Definition ReplicationStateStorage.h:33