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

#include <NetDormantHolder.h>

Classes

struct  FActorDormantReplicatorsKeyFuncs
 

Public Types

typedef TSet< FActorDormantReplicators, FActorDormantReplicatorsKeyFuncsFActorReplicatorSet
 

Public Member Functions

bool DoesReplicatorExist (AActor *DormantActor, UObject *ReplicatedObject) const
 
TSharedPtr< FObjectReplicatorFindReplicator (AActor *DormantActor, UObject *ReplicatedObject)
 
TSharedPtr< FObjectReplicatorFindAndRemoveReplicator (AActor *DormantActor, UObject *ReplicatedObject)
 
const TSharedRef< FObjectReplicator > & CreateAndStoreReplicator (AActor *DormantActor, UObject *ReplicatedObject, bool &bOverwroteExistingReplicator)
 
void StoreReplicator (AActor *DormantActor, UObject *ReplicatedObject, const TSharedRef< FObjectReplicator > &ObjectReplicator)
 
bool RemoveStoredReplicator (AActor *DormantActor, FObjectKey ReplicatedObjectKey)
 
void CleanupAllReplicatorsOfActor (AActor *DormantActor)
 
void CleanupStaleObjects (FNetworkObjectList &NetworkObjectList, UObject *ReferenceOwner)
 
void ForEachDormantReplicator (UE::Net::FExecuteForEachDormantReplicator Function)
 
void ForEachDormantReplicatorOfActor (AActor *DormantActor, UE::Net::FExecuteForEachDormantReplicator Function)
 
void EmptySet ()
 
void CountBytes (FArchive &Ar) const
 
UE::Net::FDormantObjectMapFindFlushedObjectsForActor (AActor *Actor)
 
UE::Net::FDormantObjectMapFindOrAddFlushedObjectsForActor (AActor *Actor)
 
void ClearFlushedObjectsForActor (AActor *Actor)
 

Public Attributes

FActorReplicatorSet ActorReplicatorSet
 
TMap< FObjectKey, UE::Net::FDormantObjectMapFlushedObjectMap
 

Detailed Description

Container that stores the object replicators of dormant actors and their subobjects. Note that the actor stores it's own replicator and the replicators of it's subobjects

Member Typedef Documentation

◆ FActorReplicatorSet

Member Function Documentation

◆ CleanupAllReplicatorsOfActor()

void UE::Net::Private::FDormantReplicatorHolder::CleanupAllReplicatorsOfActor ( AActor DormantActor)

Remove the references to all the object replicators tied to the given actor

Parameters
DormantActorThe dormant actor we want to clean any reference to

◆ CleanupStaleObjects()

void UE::Net::Private::FDormantReplicatorHolder::CleanupStaleObjects ( FNetworkObjectList NetworkObjectList,
UObject ReferenceOwner 
)

Iterate over all the stored object replicators and destroy any that are tied to a replicated object that is now considered invalid. This version will decrement the subobject references stored in the networkobject list too.

Parameters
FNetworkObjectListThe netdriver's network object list
ReferenceOwnerThe connection owner that is storing those dormant objects

◆ ClearFlushedObjectsForActor()

void UE::Net::Private::FDormantReplicatorHolder::ClearFlushedObjectsForActor ( AActor Actor)

Clear stored flushed replicated sub-objects for a given actor, generally after replication or when the actor is destroyed

Parameters
ActorThe actor to clear the flushed object data for

◆ CountBytes()

void UE::Net::Private::FDormantReplicatorHolder::CountBytes ( FArchive Ar) const

◆ CreateAndStoreReplicator()

const TSharedRef< FObjectReplicator > & UE::Net::Private::FDormantReplicatorHolder::CreateAndStoreReplicator ( AActor DormantActor,
UObject ReplicatedObject,
bool bOverwroteExistingReplicator 
)

Create an object replicator for the given replicated object and store a reference to it. Does not initialize the Replicator but simply allocates it.

Parameters
DormantActorThe dormant actor that owns the replicated object
ReplicatedObjectThe object that will be tied to the new ObjectReplicator.
bOverwroteExistingReplicatorWhen it returns true it means we erased an existing replicator.
Returns
Return a reference to the object replicator we created and are now storing.

◆ DoesReplicatorExist()

bool UE::Net::Private::FDormantReplicatorHolder::DoesReplicatorExist ( AActor DormantActor,
UObject ReplicatedObject 
) const

Are we currently storing an object replicator owned by the dormant actor.

Parameters
DormantActorThe dormant actor that owns the replicated object
ReplicatedObjectThe object that was replicated and for whom we could be storing it's FObjectReplicator.
Returns
True if we are storing a replicator.

◆ EmptySet()

void UE::Net::Private::FDormantReplicatorHolder::EmptySet ( )

Remove every reference that is still stored.

◆ FindAndRemoveReplicator()

TSharedPtr< FObjectReplicator > UE::Net::Private::FDormantReplicatorHolder::FindAndRemoveReplicator ( AActor DormantActor,
UObject ReplicatedObject 
)

Return the object replicator for the given replicated object but also remove the reference to that object replicator.

Parameters
DormantActorThe dormant actor that owns the replicated object
ReplicatedObjectThe object that was replicated and for whom we want it's FObjectReplicator.
Returns
The object replicator of the replicated object if we were holding one. Otherwise an invalid pointer

◆ FindFlushedObjectsForActor()

UE::Net::FDormantObjectMap * UE::Net::Private::FDormantReplicatorHolder::FindFlushedObjectsForActor ( AActor Actor)

Retrieve stored set of replicated sub-objects of the given actor at the time of the last dormancy flush This data is cleared when the actor is processed by ReplicateActor

Parameters
ActorThe actor to retrieve the object map for
Returns
A map of network guids to weak object pointers, or nullptr

◆ FindOrAddFlushedObjectsForActor()

UE::Net::FDormantObjectMap & UE::Net::Private::FDormantReplicatorHolder::FindOrAddFlushedObjectsForActor ( AActor Actor)

Retrieve stored set of replicated sub-objects of the given actor at the time of the last dormancy flush This data is cleared when the actor is processed by ReplicateActor

Parameters
ActorThe actor to retrieve the object map for
Returns
A map of network guids to weak object pointers

◆ FindReplicator()

TSharedPtr< FObjectReplicator > UE::Net::Private::FDormantReplicatorHolder::FindReplicator ( AActor DormantActor,
UObject ReplicatedObject 
)

Return the objector replicator for the given replicated object .

Parameters
DormantActorThe dormant actor that owns the replicated object.
ReplicatedObjectThe object that was replicated
Returns
The object replicator of the replicated object if we were holding one. Otherwise an invalid pointer

◆ ForEachDormantReplicator()

void UE::Net::Private::FDormantReplicatorHolder::ForEachDormantReplicator ( UE::Net::FExecuteForEachDormantReplicator  Function)

Execute the passed function on each dormant replicator we are holding

◆ ForEachDormantReplicatorOfActor()

void UE::Net::Private::FDormantReplicatorHolder::ForEachDormantReplicatorOfActor ( AActor DormantActor,
UE::Net::FExecuteForEachDormantReplicator  Function 
)

Execute the passed function on each dormant replicatof owned by the given dormant actor

◆ RemoveStoredReplicator()

bool UE::Net::Private::FDormantReplicatorHolder::RemoveStoredReplicator ( AActor DormantActor,
FObjectKey  ReplicatedObjectKey 
)

Remove our reference to the object replicator tied to the given replicated object

Parameters
DormantActorThe dormant actor that owns the replicated object
ReplicatedObjectKeyThe object key to a replicated object that may have stored it's object replicator here
Returns
Return true if we did find the replicated object and removed it

◆ StoreReplicator()

void UE::Net::Private::FDormantReplicatorHolder::StoreReplicator ( AActor DormantActor,
UObject ReplicatedObject,
const TSharedRef< FObjectReplicator > &  ObjectReplicator 
)

Store an existing replicator tied to the given replicated object

Parameters
DormantActorThe dormant actor that owns the replicated object
ReplicatedObjectThe object that is tied to the existing replicator
ObjectReplicatorThe existing replicator we that will be stored

Member Data Documentation

◆ ActorReplicatorSet

FActorReplicatorSet UE::Net::Private::FDormantReplicatorHolder::ActorReplicatorSet

The TSet indexed by Actor that stores all their dormant object replicators

◆ FlushedObjectMap

TMap<FObjectKey, UE::Net::FDormantObjectMap> UE::Net::Private::FDormantReplicatorHolder::FlushedObjectMap

Map of actors to guid/weakptr pairs from the last dormancy flush


The documentation for this struct was generated from the following files: