UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NetDormantHolder.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "UObject/ObjectKey.h"
8#include "Misc/NetworkGuid.h"
9
10class AActor;
13
14namespace UE::Net
15{
18
20}
21
22namespace UE::Net::Private
23{
24
45
46
52{
54
55 bool operator==(const FActorDormantReplicators& rhs) const { return OwnerActorKey == rhs.OwnerActorKey; }
56 bool operator==(FObjectKey rhs) const { return OwnerActorKey == rhs; }
57
58 void CountBytes(FArchive& Ar) const { DormantReplicators.CountBytes(Ar); }
59
61 struct FDormantObjectReplicatorKeyFuncs : BaseKeyFuncs<FDormantObjectReplicator, FObjectKey, false>
62 {
63 static KeyInitType GetSetKey(ElementInitType Element) { return Element.ObjectKey; }
64 static bool Matches(KeyInitType lhs, KeyInitType rhs) { return lhs == rhs; }
65 static uint32 GetKeyHash(KeyInitType Key) { return GetTypeHash(Key); }
66 };
67
70
74};
75
81{
90
99
108
119
128
137
144
153
158
163
167 void EmptySet();
168
169 void CountBytes(FArchive& Ar) const;
170
172 struct FActorDormantReplicatorsKeyFuncs : BaseKeyFuncs<FActorDormantReplicators, FObjectKey, false>
173 {
174 static KeyInitType GetSetKey(ElementInitType Element) { return Element.OwnerActorKey; }
175 static bool Matches(KeyInitType lhs, KeyInitType rhs) { return lhs == rhs; }
176 static uint32 GetKeyHash(KeyInitType Key) { return GetTypeHash(Key); }
177 };
178
182
191
200
207
210};
211
212}//end namespace UE::Net::Private
213
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition Archive.h:1208
Definition NetworkObjectList.h:143
Definition DataReplication.h:74
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition Object.h:95
Definition NetworkVersion.cpp:28
Definition NetworkVersion.cpp:28
TFunctionRef< void(FObjectKey OwnerActorKey, FObjectKey ObjectKey, const TSharedRef< FObjectReplicator > &ReplicatorRef)> FExecuteForEachDormantReplicator
Definition NetDormantHolder.h:17
TMap< FNetworkGUID, TWeakObjectPtr< UObject > > FDormantObjectMap
Definition NetDormantHolder.h:19
uint32 GetTypeHash(const FNetIDVariant &NetID)
Definition NetIDVariant.h:55
Definition SetUtilities.h:23
TCallTraits< FDormantObjectReplicator >::ParamType ElementInitType
Definition SetUtilities.h:26
TCallTraits< FObjectKey >::ParamType KeyInitType
Definition SetUtilities.h:25
Definition ObjectKey.h:19
static bool Matches(KeyInitType lhs, KeyInitType rhs)
Definition NetDormantHolder.h:64
static KeyInitType GetSetKey(ElementInitType Element)
Definition NetDormantHolder.h:63
static uint32 GetKeyHash(KeyInitType Key)
Definition NetDormantHolder.h:65
Definition NetDormantHolder.h:52
bool operator==(const FActorDormantReplicators &rhs) const
Definition NetDormantHolder.h:55
FActorDormantReplicators(FObjectKey InOwnerActorKey)
Definition NetDormantHolder.h:53
TSet< FDormantObjectReplicator, FDormantObjectReplicatorKeyFuncs > FObjectReplicatorSet
Definition NetDormantHolder.h:71
void CountBytes(FArchive &Ar) const
Definition NetDormantHolder.h:58
FObjectKey OwnerActorKey
Definition NetDormantHolder.h:69
bool operator==(FObjectKey rhs) const
Definition NetDormantHolder.h:56
FObjectReplicatorSet DormantReplicators
Definition NetDormantHolder.h:73
Definition NetDormantHolder.h:29
bool operator==(const FDormantObjectReplicator &rhs) const
Definition NetDormantHolder.h:36
FObjectKey ObjectKey
Definition NetDormantHolder.h:40
TSharedRef< FObjectReplicator > Replicator
Definition NetDormantHolder.h:43
bool operator==(FObjectKey rhs) const
Definition NetDormantHolder.h:37
static uint32 GetKeyHash(KeyInitType Key)
Definition NetDormantHolder.h:176
static bool Matches(KeyInitType lhs, KeyInitType rhs)
Definition NetDormantHolder.h:175
static KeyInitType GetSetKey(ElementInitType Element)
Definition NetDormantHolder.h:174
Definition NetDormantHolder.h:81
void ForEachDormantReplicatorOfActor(AActor *DormantActor, UE::Net::FExecuteForEachDormantReplicator Function)
Definition NetDormantHolder.cpp:177
void ClearFlushedObjectsForActor(AActor *Actor)
Definition NetDormantHolder.cpp:219
FActorReplicatorSet ActorReplicatorSet
Definition NetDormantHolder.h:181
void ForEachDormantReplicator(UE::Net::FExecuteForEachDormantReplicator Function)
Definition NetDormantHolder.cpp:166
UE::Net::FDormantObjectMap * FindFlushedObjectsForActor(AActor *Actor)
Definition NetDormantHolder.cpp:209
void CleanupStaleObjects(FNetworkObjectList &NetworkObjectList, UObject *ReferenceOwner)
Definition NetDormantHolder.cpp:124
void CleanupAllReplicatorsOfActor(AActor *DormantActor)
Definition NetDormantHolder.cpp:119
bool RemoveStoredReplicator(AActor *DormantActor, FObjectKey ReplicatedObjectKey)
Definition NetDormantHolder.cpp:101
bool DoesReplicatorExist(AActor *DormantActor, UObject *ReplicatedObject) const
Definition NetDormantHolder.cpp:33
TSharedPtr< FObjectReplicator > FindAndRemoveReplicator(AActor *DormantActor, UObject *ReplicatedObject)
Definition NetDormantHolder.cpp:62
const TSharedRef< FObjectReplicator > & CreateAndStoreReplicator(AActor *DormantActor, UObject *ReplicatedObject, bool &bOverwroteExistingReplicator)
Definition NetDormantHolder.cpp:81
UE::Net::FDormantObjectMap & FindOrAddFlushedObjectsForActor(AActor *Actor)
Definition NetDormantHolder.cpp:214
TMap< FObjectKey, UE::Net::FDormantObjectMap > FlushedObjectMap
Definition NetDormantHolder.h:209
void CountBytes(FArchive &Ar) const
Definition NetDormantHolder.cpp:193
void EmptySet()
Definition NetDormantHolder.cpp:188
TSet< FActorDormantReplicators, FActorDormantReplicatorsKeyFuncs > FActorReplicatorSet
Definition NetDormantHolder.h:179
TSharedPtr< FObjectReplicator > FindReplicator(AActor *DormantActor, UObject *ReplicatedObject)
Definition NetDormantHolder.cpp:45
void StoreReplicator(AActor *DormantActor, UObject *ReplicatedObject, const TSharedRef< FObjectReplicator > &ObjectReplicator)
Definition NetDormantHolder.cpp:94