6#include "Containers/Array.h"
7#include "Containers/Map.h"
15 struct FReplicationProtocol;
18 class FDeltaCompressionBaselineInvalidationTracker;
20 class FNetRefHandleManager;
21 class FReplicationConnections;
22 class FNetObjectGroups;
23 class FReplicationFiltering;
24 class FNetObjectGroups;
101 uint16 AutonomousConnectionId : 15;
105 struct FPerConnectionInfo
110 struct FSubObjectConditionInfo
116 struct FObjectDynamicConditions
123 void UpdateAndResetObjectsWithDirtyConditionals();
130 void ClearConnectionInfosForObject(
const FNetBitArray& ValidConnections,
FInternalNetRefIndex ObjectIndex);
139 uint16 GetRemoteRoleRepIndex(
const FReplicationProtocol* Protocol);
145 static constexpr uint16 InvalidRepIndex = 65535U;
147 const FNetRefHandleManager* NetRefHandleManager =
nullptr;
148 const FReplicationFiltering* ReplicationFiltering =
nullptr;
149 FReplicationConnections* ReplicationConnections =
nullptr;
150 FDeltaCompressionBaselineInvalidationTracker* BaselineInvalidationTracker =
nullptr;
151 const FNetObjectGroups* NetObjectGroups =
nullptr;
156 FNetBitArray ObjectsWithDirtyLifetimeConditionals;
159 uint32 MaxConnectionCount = 0;
160 uint16 CachedRemoteRoleRepIndex = InvalidRepIndex;
163inline FReplicationConditionals::FPerObjectInfo* FReplicationConditionals::GetPerObjectInfo(
FInternalNetRefIndex ObjectIndex)
165 return PerObjectInfos.
GetData() + ObjectIndex;
168inline const FReplicationConditionals::FPerObjectInfo* FReplicationConditionals::GetPerObjectInfo(
FInternalNetRefIndex ObjectIndex)
const
170 return PerObjectInfos.
GetData() + ObjectIndex;
#define checkSlow(expr)
Definition AssertionMacros.h:332
ELifetimeCondition
Definition CoreNetTypes.h:20
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
UE_NODEBUG UE_FORCEINLINE_HINT ElementType * GetData() UE_LIFETIMEBOUND
Definition Array.h:1027
Definition UnrealString.h.inl:34
Definition NetObjectGroupHandle.h:22
Definition DeltaCompressionBaselineInvalidationTracker.h:28
Definition NetObjectGroups.h:52
Definition NetRefHandleManager.h:72
Definition ReplicationConditionals.h:51
TArray< FInternalNetRefIndex, TInlineAllocator< 32 > > FSubObjectsToReplicateArray
Definition ReplicationConditionals.h:94
bool SetConditionConnectionFilter(FInternalNetRefIndex ObjectIndex, EReplicationCondition Condition, uint32 ConnectionId, bool bEnable)
Definition ReplicationConditionals.cpp:119
void OnMaxInternalNetRefIndexIncreased(FInternalNetRefIndex NewMaxInternalIndex)
Definition ReplicationConditionals.cpp:63
void GetSubObjectsToReplicate(uint32 ReplicationConnectionId, FInternalNetRefIndex ParentObjectIndex, FSubObjectsToReplicateArray &OutSubObjectsToReplicate)
Definition ReplicationConditionals.cpp:637
void MarkPropertyDirty(FInternalNetRefIndex ObjectIndex, uint16 RepIndex)
Definition ReplicationConditionals.cpp:972
void Update()
Definition ReplicationConditionals.cpp:557
void OnInternalNetRefIndicesFreed(const TConstArrayView< FInternalNetRefIndex > &FreedIndices)
Definition ReplicationConditionals.cpp:81
void AddConnection(uint32 ConnectionId)
Definition ReplicationConditionals.cpp:178
bool SetCondition(FInternalNetRefIndex ObjectIndex, EReplicationCondition Condition, bool bEnable)
Definition ReplicationConditionals.cpp:192
bool ApplyConditionalsToChangeMask(uint32 ReplicatingConnectionId, bool bIsInitialState, FInternalNetRefIndex ParentObjectIndex, FInternalNetRefIndex ObjectIndex, uint32 *ChangeMaskData, const uint32 *ConditionalChangeMaskData, const FReplicationProtocol *Protocol)
Definition ReplicationConditionals.cpp:649
void RemoveConnection(uint32 ConnectionId)
Definition ReplicationConditionals.cpp:185
bool SetPropertyCustomCondition(FInternalNetRefIndex ObjectIndex, const void *Owner, uint16 RepIndex, bool bIsActive)
Definition ReplicationConditionals.cpp:297
void SetOwningConnection(FInternalNetRefIndex ObjectIndex, uint32 ConnectionId)
Definition ReplicationConditionals.cpp:151
FReplicationConditionals()
Definition ReplicationConditionals.cpp:36
void MarkLifeTimeConditionalsDirtyForObjectsInGroup(FNetObjectGroupHandle GroupHandle)
Definition ReplicationConditionals.cpp:99
bool SetPropertyDynamicCondition(FInternalNetRefIndex ObjectIndex, const void *Owner, uint16 RepIndex, ELifetimeCondition Condition)
Definition ReplicationConditionals.cpp:427
void InitPropertyCustomConditions(FInternalNetRefIndex ObjectIndex)
Definition ReplicationConditionals.cpp:222
Definition ReplicationConnections.h:32
Definition ReplicationFiltering.h:56
Definition OverriddenPropertySet.cpp:45
int
Definition TestServer.py:515
Definition NetworkVersion.cpp:28
uint32 FInternalNetRefIndex
Definition ReplicationStateStorage.h:20
Definition NetworkVersion.cpp:28
EReplicationCondition
Definition ReplicationCondition.h:12
Definition ReplicationProtocol.h:83
Definition ReplicationConditionals.h:32
uint32 MaxConnectionCount
Definition ReplicationConditionals.h:39
FDeltaCompressionBaselineInvalidationTracker * BaselineInvalidationTracker
Definition ReplicationConditionals.h:37
FReplicationConnections * ReplicationConnections
Definition ReplicationConditionals.h:35
FInternalNetRefIndex MaxInternalNetRefIndex
Definition ReplicationConditionals.h:38
const FReplicationFiltering * ReplicationFiltering
Definition ReplicationConditionals.h:34
const FNetObjectGroups * NetObjectGroups
Definition ReplicationConditionals.h:36
const FNetRefHandleManager * NetRefHandleManager
Definition ReplicationConditionals.h:33
Definition ReplicationConditionals.h:83
bool IsUninitialized() const
Definition ReplicationConditionals.h:84
bool SetConditionEnabled(int Condition, bool bEnabled)
Definition ReplicationConditionals.h:86
bool IsConditionEnabled(int Condition) const
Definition ReplicationConditionals.h:85
uint16 ConditionalsMask
Definition ReplicationConditionals.h:89