35#include "PackageMapClient.generated.h"
172 class FRefCountedNetGUIDArray
175 FRefCountedNetGUIDArray() {}
176 FRefCountedNetGUIDArray(
const FRefCountedNetGUIDArray&) =
delete;
177 FRefCountedNetGUIDArray& operator=(
const FRefCountedNetGUIDArray&) =
delete;
179 FRefCountedNetGUIDArray(FRefCountedNetGUIDArray&&
Other) =
default;
180 FRefCountedNetGUIDArray& operator=(FRefCountedNetGUIDArray&&
Other) =
default;
181 ~FRefCountedNetGUIDArray() =
default;
301#if UE_WITH_REMOTE_OBJECT_HANDLE
310 uint64 NetworkGuidIndex[2];
318 TMap < FString, uint32 > NetFieldExportGroupPathToIndex;
321 TMap < uint32, FNetFieldExportGroup* > NetFieldExportGroupIndexToGroup;
324 int32 UniqueNetFieldExportGroupPathIndex;
329#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
339 struct FPendingAsyncLoadRequest
347 void Merge(
const FPendingAsyncLoadRequest&
Other)
354#if CSV_PROFILER_STATS
367 double RequestStartTime;
369#if CSV_PROFILER_STATS
398#if CSV_PROFILER_STATS
434 void*
operator new (
size_t) =
delete;
435 void*
operator new[](
size_t) =
delete;
436 void operator delete (
void *) =
delete;
437 void operator delete[](
void*) =
delete;
475 if (CurrentExportBunch)
477 delete CurrentExportBunch;
478 CurrentExportBunch =
NULL;
487 ENGINE_API virtual bool IsUsingRemoteObjectReferences()
const override;
522 virtual void ResetTrackedSyncLoadedGuids()
override { TrackedSyncLoadedGUIDs.
Reset(); }
643 bool bIgnoreReceivedExportGUIDs;
#define NULL
Definition oodle2base.h:134
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EChannelGetAdditionalRequiredBunchesFlags
Definition Channel.h:48
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
return true
Definition ExternalRpcRegistry.cpp:601
#define LLM_DECLARE_TAG_API(...)
Definition LowLevelMemTracker.h:1117
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
EAppendNetExportFlags
Definition PackageMapClient.h:144
Definition Archive.h:1208
Definition DataBunch.h:127
Definition NameTypes.h:617
Definition PackageMapClient.h:92
bool bDirtyForReplay
Definition PackageMapClient.h:99
friend FArchive & operator<<(FArchive &Ar, FNetFieldExportGroup &C)
Definition PackageMapClient.cpp:4469
FNetFieldExportGroup()
Definition PackageMapClient.h:94
ENGINE_API void CountBytes(FArchive &Ar) const
Definition PackageMapClient.cpp:4459
uint32 PathNameIndex
Definition PackageMapClient.h:97
TArray< FNetFieldExport > NetFieldExports
Definition PackageMapClient.h:98
int32 FindNetFieldExportHandleByChecksum(const uint32 Checksum) const
Definition PackageMapClient.h:103
FString PathName
Definition PackageMapClient.h:96
Definition PackageMapClient.h:44
uint32 Handle
Definition PackageMapClient.h:79
FName ExportName
Definition PackageMapClient.h:81
FNetFieldExport()
Definition PackageMapClient.h:46
bool bDirtyForReplay
Definition PackageMapClient.h:83
friend FArchive & operator<<(FArchive &Ar, FNetFieldExport &C)
Definition PackageMapClient.cpp:4411
uint32 CompatibleChecksum
Definition PackageMapClient.h:80
ENGINE_API void CountBytes(FArchive &Ar) const
Definition PackageMapClient.cpp:4406
bool bIncompatible
Definition PackageMapClient.h:88
FNetFieldExport(const uint32 InHandle, const uint32 InCompatibleChecksum, const FName &InName)
Definition PackageMapClient.h:50
TArray< uint8 > Blob
Definition PackageMapClient.h:78
FNetFieldExport(const uint32 InHandle, const uint32 InCompatibleChecksum, const FName &InName, const TArray< uint8 > &InBlob)
Definition PackageMapClient.h:62
bool bExported
Definition PackageMapClient.h:82
bool bExportBlob
Definition PackageMapClient.h:84
Definition PackageMapClient.h:195
virtual ~FNetGUIDCache()
Definition PackageMapClient.h:198
TSet< FNetworkGUID > ImportedNetGuids
Definition PackageMapClient.h:291
ENGINE_API uint32 GetClassNetworkChecksum(UClass *Class)
Definition PackageMapClient.cpp:4272
bool WasGUIDSyncLoaded(FNetworkGUID NetGUID) const
Definition PackageMapClient.h:271
ENGINE_API void ResetAsyncLoadDelinquencyAnalytics()
Definition PackageMapClient.cpp:4521
ENGINE_API TSharedRef< FQueuedBunchObjectReference > TrackQueuedBunchObjectReference(const FNetworkGUID InNetGUID, UObject *InObject)
Definition PackageMapClient.cpp:4573
ENGINE_API void SetNetworkChecksumMode(const ENetworkChecksumMode NewMode)
Definition PackageMapClient.cpp:4290
ENGINE_API void RemoveActorNetGUIDs(const AActor *Actor)
Definition PackageMapClient.cpp:4197
ENGINE_API void CollectReferences(class FReferenceCollector &ReferenceCollector)
Definition PackageMapClient.cpp:4542
TMap< FNetworkGUID, FString > History
Definition PackageMapClient.h:335
ENGINE_API void ConsumeAsyncLoadDelinquencyAnalytics(FNetAsyncLoadDelinquencyAnalytics &Out)
Definition PackageMapClient.cpp:4510
ENGINE_API void RegisterNetGUIDFromPath_Server(const FNetworkGUID &NetGUID, const FString &PathName, const FNetworkGUID &OuterGUID, const uint32 NetworkChecksum, const bool bNoLoad, const bool bIgnoreWhenMissing)
Definition PackageMapClient.cpp:3535
ENGINE_API void ReportSyncLoadedGUIDs()
Definition PackageMapClient.cpp:4602
UNetDriver * Driver
Definition PackageMapClient.h:294
FNetGUIDCache & operator=(const FNetGUIDCache &)=delete
ENGINE_API bool ShouldIgnoreWhenMissing(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4029
ENGINE_API void ResetCacheForDemo()
Definition PackageMapClient.cpp:4311
virtual ENGINE_API FNetworkGUID AssignNewNetGUIDFromPath_Server(const FString &PathName, UObject *ObjOuter, UClass *ObjClass)
Definition PackageMapClient.cpp:3304
virtual ENGINE_API FNetworkGUID AssignNewNetGUID_Server(UObject *Object)
Definition PackageMapClient.cpp:3277
TMap< FNetworkGUID, TSet< FNetworkGUID > > PendingOuterNetGuids
Definition PackageMapClient.h:292
ENGINE_API void RegisterNetGUID_Internal(const FNetworkGUID &NetGUID, const FNetGuidCacheObject &CacheObject)
Definition PackageMapClient.cpp:3334
ENGINE_API void CountBytes(FArchive &Ar) const
Definition PackageMapClient.cpp:4335
ENGINE_API bool IsGUIDLoaded(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4105
ENGINE_API bool CanClientLoadObject(const UObject *Object, const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:854
const void RemoveUnmappedStablyNamedGuidsWithOuter(FNetworkGUID OuterGUID)
Definition PackageMapClient.h:283
ENGINE_API void GenerateFullNetGUIDPath_r(const FNetworkGUID &NetGUID, FString &FullPath) const
Definition PackageMapClient.cpp:4222
ENGINE_API bool SupportsObject(const UObject *Object, const TWeakObjectPtr< UObject > *WeakObjectPtr=nullptr) const
Definition PackageMapClient.cpp:3118
bool IsExportingNetGUIDBunch
Definition PackageMapClient.h:299
FNetGUIDCache(const FNetGUIDCache &)=delete
TMap< FNetworkGUID, FNetGuidCacheObject > ObjectLookup
Definition PackageMapClient.h:285
virtual ENGINE_API bool IsNetGUIDAuthority() const
Definition PackageMapClient.cpp:3193
ENGINE_API FNetworkGUID GetOrAssignNetGUID(UObject *Object, const TWeakObjectPtr< UObject > *WeakObjectPtr=nullptr)
Definition PackageMapClient.cpp:3199
static ENGINE_API const bool IsHistoryEnabled()
Definition PackageMapClient.cpp:4329
ENGINE_API bool IsGUIDNoLoad(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4131
ENGINE_API const FNetAsyncLoadDelinquencyAnalytics & GetAsyncLoadDelinquencyAnalytics() const
Definition PackageMapClient.cpp:4516
ENGINE_API void AsyncPackageCallback(const FName &PackageName, UPackage *Package, EAsyncLoadingResult::Type Result)
Definition PackageMapClient.cpp:3659
ENGINE_API void SetAsyncLoadMode(const EAsyncLoadMode NewMode)
Definition PackageMapClient.cpp:4295
ENGINE_API void ResetReplayDirtyTracking()
Definition PackageMapClient.cpp:4712
ENGINE_API const TArray< FNetworkGUID > * FindUnmappedStablyNamedGuidsWithOuter(FNetworkGUID OuterGUID) const
Definition PackageMapClient.cpp:2916
ENGINE_API FNetworkGUID GetOuterNetGUID(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4143
ENGINE_API uint32 GetNetworkChecksum(UObject *Obj)
Definition PackageMapClient.cpp:4277
EAsyncLoadMode
Definition PackageMapClient.h:215
TMap< TWeakObjectPtr< UObject >, FNetworkGUID > NetGUIDLookup
Definition PackageMapClient.h:286
ENetworkChecksumMode
Definition PackageMapClient.h:208
ENGINE_API bool IsGUIDRegistered(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4085
FNetGUIDCache & operator=(FNetGUIDCache &&)=default
ENGINE_API bool ShouldAsyncLoad() const
Definition PackageMapClient.cpp:4300
ENGINE_API void CleanReferences()
Definition PackageMapClient.cpp:3022
ENGINE_API bool IsGUIDBroken(const FNetworkGUID &NetGUID, const bool bMustBeRegistered) const
Definition PackageMapClient.cpp:4111
ENGINE_API void RegisterNetGUID_Client(const FNetworkGUID &NetGUID, const UObject *Object)
Definition PackageMapClient.cpp:3397
int32 UniqueNetIDs[2]
Definition PackageMapClient.h:289
EAsyncLoadMode AsyncLoadMode
Definition PackageMapClient.h:297
ENGINE_API FString FullNetGUIDPath(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4155
ENGINE_API UObject * GetObjectFromNetGUID(const FNetworkGUID &NetGUID, const bool bIgnoreMustBeMapped)
Definition PackageMapClient.cpp:3736
void ClearSyncLoadedGUID(FNetworkGUID NetGUID)
Definition PackageMapClient.h:272
ENGINE_API bool IsGUIDPending(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4137
ENGINE_API void RegisterNetGUID_Server(const FNetworkGUID &NetGUID, UObject *Object)
Definition PackageMapClient.cpp:3374
ENGINE_API void RegisterNetGUIDFromPath_Client(const FNetworkGUID &NetGUID, const FString &PathName, const FNetworkGUID &OuterGUID, const uint32 NetworkChecksum, const bool bNoLoad, const bool bIgnoreWhenMissing)
Definition PackageMapClient.cpp:3467
PRAGMA_DISABLE_DEPRECATION_WARNINGS FNetGUIDCache(FNetGUIDCache &&)=default
ENGINE_API bool IsDynamicObject(const UObject *Object)
Definition PackageMapClient.cpp:3184
ENGINE_API FNetworkGUID GetNetGUID(const UObject *Object) const
Definition PackageMapClient.cpp:3260
ENetworkChecksumMode NetworkChecksumMode
Definition PackageMapClient.h:296
ENGINE_API bool RemoveNetGUID(const UObject *Object)
Definition PackageMapClient.cpp:4180
ENGINE_API FNetGuidCacheObject const *const GetCacheObject(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4100
ENGINE_API FString Describe(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.cpp:4164
Definition PackageMapClient.h:121
FNetGuidCacheObject()
Definition PackageMapClient.h:123
uint8 bNoLoad
Definition PackageMapClient.h:136
FNetworkGUID OuterGUID
Definition PackageMapClient.h:130
FName PathName
Definition PackageMapClient.h:131
uint8 bIgnoreWhenMissing
Definition PackageMapClient.h:137
TWeakObjectPtr< UObject > Object
Definition PackageMapClient.h:127
uint8 bIsPending
Definition PackageMapClient.h:138
double ReadOnlyTimestamp
Definition PackageMapClient.h:134
uint8 bIsBroken
Definition PackageMapClient.h:139
uint8 bDirtyForReplay
Definition PackageMapClient.h:140
uint32 NetworkChecksum
Definition PackageMapClient.h:132
Definition NetworkGuid.h:12
void Reset()
Definition NetworkGuid.h:90
Definition UObjectGlobals.h:1292
static COREUOBJECT_API FObjectInitializer & Get()
Definition UObjectGlobals.cpp:5001
Definition DataBunch.h:24
Definition OutputDevice.h:133
Definition PackageMapClient.h:447
TMap< FNetworkGUID, int32 > NetGUIDAckStatus
Definition PackageMapClient.h:449
TSet< uint64 > NetFieldExportAcked
Definition PackageMapClient.h:451
ENGINE_API void CountBytes(FArchive &Ar) const
Definition PackageMapClient.cpp:4498
TSet< uint32 > NetFieldExportGroupPathAcked
Definition PackageMapClient.h:450
void Reset()
Definition PackageMapClient.h:453
Definition UnrealType.h:174
Definition UObjectGlobals.h:2492
SizeType Remove(const ElementType &Item)
Definition Array.h:3091
UE_REWRITE SizeType Num() const
Definition Array.h:1144
bool Contains(const ComparisonType &Item) const
Definition Array.h:1518
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition ActorChannel.h:78
Definition NetToken.h:112
Definition NetConnection.h:284
ENGINE_API void ConsumeQueuedActorDelinquencyAnalytics(FNetQueuedActorDelinquencyAnalytics &Out)
Definition NetConnection.cpp:5946
ENGINE_API void ResetQueuedActorDelinquencyAnalytics()
Definition NetConnection.cpp:5970
ENGINE_API const FNetQueuedActorDelinquencyAnalytics & GetQueuedActorDelinquencyAnalytics() const
Definition NetConnection.cpp:5958
Definition NetDriver.h:799
Definition PackageMapClient.h:465
int32 ExportNetGUIDCount
Definition PackageMapClient.h:628
FOutBunch * CurrentExportBunch
Definition PackageMapClient.h:626
TMap< FNetworkGUID, double > CurrentQueuedBunchNetGUIDs
Definition PackageMapClient.h:617
TArray< FNetworkGUID > MustBeMappedGuidsInLastBunch
Definition PackageMapClient.h:632
class UNetConnection * GetConnection()
Definition PackageMapClient.h:538
TUniquePtr< TGuardValue< bool > > ScopedIgnoreReceivedExportGUIDs()
Definition PackageMapClient.h:564
TArray< FNetworkGUID > & GetMustBeMappedGuidsInLastBunch()
Definition PackageMapClient.h:536
TSet< uint64 > NetFieldExports
Definition PackageMapClient.h:635
TSet< FNetworkGUID > CurrentExportNetGUIDs
Definition PackageMapClient.h:614
FPackageMapAckState * OverrideAckState
Definition PackageMapClient.h:622
virtual ~UPackageMapClient()
Definition PackageMapClient.h:473
TArray< FOutBunch * > ExportBunches
Definition PackageMapClient.h:625
class UNetConnection * Connection
Definition PackageMapClient.h:609
FString GetFullNetGUIDPath(const FNetworkGUID &NetGUID) const
Definition PackageMapClient.h:571
TSharedPtr< FNetGUIDCache > GuidCache
Definition PackageMapClient.h:630
FPackageMapAckState AckState
Definition PackageMapClient.h:621
virtual bool IsGUIDBroken(const FNetworkGUID &NetGUID, const bool bMustBeRegistered) const override
Definition PackageMapClient.h:528
TArray< FNetworkGUID > PendingAckGUIDs
Definition PackageMapClient.h:619
virtual const UE::Net::FNetTokenResolveContext * GetNetTokenResolveContext() const override
Definition PackageMapClient.h:497
TArray< TArray< uint8 > > ExportGUIDArchives
Definition PackageMapClient.h:613
Type
Definition UObjectGlobals.h:694
Definition NetworkVersion.cpp:28
@ false
Definition radaudio_common.h:23
Definition NetAnalyticsTypes.h:133
Definition NetAnalyticsTypes.h:178
Definition PackageMapClient.h:154
Definition RemoteObjectTypes.h:212
Definition ObjectPtr.h:488