UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Net::Private::FReplicationSystemImpl Class Reference

Public Member Functions

 FReplicationSystemImpl (UReplicationSystem *InReplicationSystem, const UReplicationSystem::FReplicationSystemParams &Params)
 
 ~FReplicationSystemImpl ()
 
void InitDefaultFilteringGroups ()
 
void Init (const UReplicationSystem::FReplicationSystemParams &Params)
 
void Deinit ()
 
void OnMaxInternalNetRefIndexIncreased (FInternalNetRefIndex NewMaxInternalIndex)
 
void OnInternalNetRefIndicesFreed (const TConstArrayView< FInternalNetRefIndex > &FreedIndices)
 
void StartPreSendUpdate ()
 
void CallPreSendUpdate (float DeltaSeconds)
 
void EndPostSendUpdate ()
 
void UpdateDirtyObjectList ()
 
void UpdateDirtyListPostPoll ()
 
void UpdateWorldLocations ()
 
void UpdateFiltering ()
 
void UpdateObjectScopes ()
 
void UpdateConditionals ()
 
void UpdatePrioritization (const FNetBitArrayView &ReplicatingConnections)
 
void PropagateDirtyChanges ()
 
void QuantizeDirtyStateData ()
 
void ResetObjectStateDirtiness ()
 
void ProcessNetObjectAttachmentSendQueue (FNetBlobManager::EProcessMode ProcessMode)
 
void ProcessOOBNetObjectAttachmentSendQueue ()
 
void PreReceiveUpdate ()
 
void PostReceiveUpdate ()
 
void ResetNetObjectAttachmentSendQueue ()
 
bool ShouldUpdateForConnections ()
 
void AddConnection (uint32 ConnectionId)
 
void RemoveConnection (uint32 ConnectionId)
 
void UpdateDataStreams (UDataStream::FUpdateParameters &UpdateParameters)
 
void UpdateUnresolvableReferenceTracking ()
 
void CollectNetMetrics (UE::Net::FNetMetrics &OutNetMetrics) const
 
void ResetNetMetrics ()
 

Public Attributes

TMap< FObjectKey, ENetObjectAttachmentSendPolicyFlagsAttachmentSendPolicyFlags
 
UReplicationSystemReplicationSystem
 
FNetTokenStoreNetTokenStore
 
FReplicationSystemInternal ReplicationSystemInternal
 
FReplicationSystemDelegates Delegates
 
uint64 IrisDebugHelperDummy = 0U
 
FNetObjectGroupHandle NotReplicatedNetObjectGroupHandle
 
FNetObjectGroupHandle NetGroupOwnerNetObjectGroupHandle
 
FNetObjectGroupHandle NetGroupReplayNetObjectGroupHandle
 
FNetBitArray ConnectionsPendingPostTickDispatchSend
 
EReplicationSystemSendPass CurrentSendPass = EReplicationSystemSendPass::Invalid
 
FName MetricNameTotalRootObjects
 
FName MetricNameTotalSubObjects
 
FName MetricNameAvgPendingObjectCount
 
FName MetricNameMaxPendingObjectCount
 
FName MetricNameAvgPendingDependentObjectCount
 
FName MetricNameMaxPendingDependentObjectCount
 
FName MetricNameAvgHugeObjectSendQueue
 
FName MetricNameMaxHugeObjectSendQueue
 
bool bHadValidConnectionsLastUpdate = false
 

Constructor & Destructor Documentation

◆ FReplicationSystemImpl()

UE::Net::Private::FReplicationSystemImpl::FReplicationSystemImpl ( UReplicationSystem InReplicationSystem,
const UReplicationSystem::FReplicationSystemParams Params 
)
inlineexplicit

◆ ~FReplicationSystemImpl()

UE::Net::Private::FReplicationSystemImpl::~FReplicationSystemImpl ( )
inline

Member Function Documentation

◆ AddConnection()

void UE::Net::Private::FReplicationSystemImpl::AddConnection ( uint32  ConnectionId)
inline

Currently we expect all objects to be replicated from server to client. That means we will have to support sending attachments such as RPCs from the client to the server, if the RPC is allowed to be sent in the first place.

◆ CallPreSendUpdate()

void UE::Net::Private::FReplicationSystemImpl::CallPreSendUpdate ( float  DeltaSeconds)
inline

◆ CollectNetMetrics()

void UE::Net::Private::FReplicationSystemImpl::CollectNetMetrics ( UE::Net::FNetMetrics OutNetMetrics) const
inline

◆ Deinit()

void UE::Net::Private::FReplicationSystemImpl::Deinit ( )
inline

◆ EndPostSendUpdate()

void UE::Net::Private::FReplicationSystemImpl::EndPostSendUpdate ( )
inline

◆ Init()

void UE::Net::Private::FReplicationSystemImpl::Init ( const UReplicationSystem::FReplicationSystemParams Params)
inline

◆ InitDefaultFilteringGroups()

void UE::Net::Private::FReplicationSystemImpl::InitDefaultFilteringGroups ( )
inline

◆ OnInternalNetRefIndicesFreed()

void UE::Net::Private::FReplicationSystemImpl::OnInternalNetRefIndicesFreed ( const TConstArrayView< FInternalNetRefIndex > &  FreedIndices)
inline

◆ OnMaxInternalNetRefIndexIncreased()

void UE::Net::Private::FReplicationSystemImpl::OnMaxInternalNetRefIndexIncreased ( FInternalNetRefIndex  NewMaxInternalIndex)
inline

◆ PostReceiveUpdate()

void UE::Net::Private::FReplicationSystemImpl::PostReceiveUpdate ( )
inline

◆ PreReceiveUpdate()

void UE::Net::Private::FReplicationSystemImpl::PreReceiveUpdate ( )
inline

◆ ProcessNetObjectAttachmentSendQueue()

void UE::Net::Private::FReplicationSystemImpl::ProcessNetObjectAttachmentSendQueue ( FNetBlobManager::EProcessMode  ProcessMode)
inline

◆ ProcessOOBNetObjectAttachmentSendQueue()

void UE::Net::Private::FReplicationSystemImpl::ProcessOOBNetObjectAttachmentSendQueue ( )
inline

◆ PropagateDirtyChanges()

void UE::Net::Private::FReplicationSystemImpl::PropagateDirtyChanges ( )
inline

◆ QuantizeDirtyStateData()

void UE::Net::Private::FReplicationSystemImpl::QuantizeDirtyStateData ( )
inline

◆ RemoveConnection()

void UE::Net::Private::FReplicationSystemImpl::RemoveConnection ( uint32  ConnectionId)
inline

◆ ResetNetMetrics()

void UE::Net::Private::FReplicationSystemImpl::ResetNetMetrics ( )
inline

◆ ResetNetObjectAttachmentSendQueue()

void UE::Net::Private::FReplicationSystemImpl::ResetNetObjectAttachmentSendQueue ( )
inline

◆ ResetObjectStateDirtiness()

void UE::Net::Private::FReplicationSystemImpl::ResetObjectStateDirtiness ( )
inline

◆ ShouldUpdateForConnections()

bool UE::Net::Private::FReplicationSystemImpl::ShouldUpdateForConnections ( )
inline

◆ StartPreSendUpdate()

void UE::Net::Private::FReplicationSystemImpl::StartPreSendUpdate ( )
inline

◆ UpdateConditionals()

void UE::Net::Private::FReplicationSystemImpl::UpdateConditionals ( )
inline

◆ UpdateDataStreams()

void UE::Net::Private::FReplicationSystemImpl::UpdateDataStreams ( UDataStream::FUpdateParameters UpdateParameters)
inline

◆ UpdateDirtyListPostPoll()

void UE::Net::Private::FReplicationSystemImpl::UpdateDirtyListPostPoll ( )
inline

◆ UpdateDirtyObjectList()

void UE::Net::Private::FReplicationSystemImpl::UpdateDirtyObjectList ( )
inline

◆ UpdateFiltering()

void UE::Net::Private::FReplicationSystemImpl::UpdateFiltering ( )
inline

◆ UpdateObjectScopes()

void UE::Net::Private::FReplicationSystemImpl::UpdateObjectScopes ( )
inline

◆ UpdatePrioritization()

void UE::Net::Private::FReplicationSystemImpl::UpdatePrioritization ( const FNetBitArrayView ReplicatingConnections)
inline

◆ UpdateUnresolvableReferenceTracking()

void UE::Net::Private::FReplicationSystemImpl::UpdateUnresolvableReferenceTracking ( )
inline

◆ UpdateWorldLocations()

void UE::Net::Private::FReplicationSystemImpl::UpdateWorldLocations ( )
inline

Member Data Documentation

◆ AttachmentSendPolicyFlags

TMap<FObjectKey, ENetObjectAttachmentSendPolicyFlags> UE::Net::Private::FReplicationSystemImpl::AttachmentSendPolicyFlags

◆ bHadValidConnectionsLastUpdate

bool UE::Net::Private::FReplicationSystemImpl::bHadValidConnectionsLastUpdate = false

◆ ConnectionsPendingPostTickDispatchSend

FNetBitArray UE::Net::Private::FReplicationSystemImpl::ConnectionsPendingPostTickDispatchSend

◆ CurrentSendPass

EReplicationSystemSendPass UE::Net::Private::FReplicationSystemImpl::CurrentSendPass = EReplicationSystemSendPass::Invalid

◆ Delegates

FReplicationSystemDelegates UE::Net::Private::FReplicationSystemImpl::Delegates

◆ IrisDebugHelperDummy

uint64 UE::Net::Private::FReplicationSystemImpl::IrisDebugHelperDummy = 0U

◆ MetricNameAvgHugeObjectSendQueue

FName UE::Net::Private::FReplicationSystemImpl::MetricNameAvgHugeObjectSendQueue

◆ MetricNameAvgPendingDependentObjectCount

FName UE::Net::Private::FReplicationSystemImpl::MetricNameAvgPendingDependentObjectCount

◆ MetricNameAvgPendingObjectCount

FName UE::Net::Private::FReplicationSystemImpl::MetricNameAvgPendingObjectCount

◆ MetricNameMaxHugeObjectSendQueue

FName UE::Net::Private::FReplicationSystemImpl::MetricNameMaxHugeObjectSendQueue

◆ MetricNameMaxPendingDependentObjectCount

FName UE::Net::Private::FReplicationSystemImpl::MetricNameMaxPendingDependentObjectCount

◆ MetricNameMaxPendingObjectCount

FName UE::Net::Private::FReplicationSystemImpl::MetricNameMaxPendingObjectCount

◆ MetricNameTotalRootObjects

FName UE::Net::Private::FReplicationSystemImpl::MetricNameTotalRootObjects

◆ MetricNameTotalSubObjects

FName UE::Net::Private::FReplicationSystemImpl::MetricNameTotalSubObjects

◆ NetGroupOwnerNetObjectGroupHandle

FNetObjectGroupHandle UE::Net::Private::FReplicationSystemImpl::NetGroupOwnerNetObjectGroupHandle

◆ NetGroupReplayNetObjectGroupHandle

FNetObjectGroupHandle UE::Net::Private::FReplicationSystemImpl::NetGroupReplayNetObjectGroupHandle

◆ NetTokenStore

FNetTokenStore* UE::Net::Private::FReplicationSystemImpl::NetTokenStore

◆ NotReplicatedNetObjectGroupHandle

FNetObjectGroupHandle UE::Net::Private::FReplicationSystemImpl::NotReplicatedNetObjectGroupHandle

◆ ReplicationSystem

UReplicationSystem* UE::Net::Private::FReplicationSystemImpl::ReplicationSystem

◆ ReplicationSystemInternal

FReplicationSystemInternal UE::Net::Private::FReplicationSystemImpl::ReplicationSystemInternal

The documentation for this class was generated from the following file: