UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
InstancedStructNetSerializer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
10
11#include "InstancedStructNetSerializer.generated.h"
12
13class UScriptStruct;
14
15namespace UE::Net::Private
16{
17
19{
20public:
23
24 // Name for debugging purposes
25 void SetDebugName(const FString& DebugName);
26
27 // Set max cached descriptor count. The most recently used descriptors will be kept. MaxCount <= 0 means no limit which is the default.
29
30 //
32
33 bool IsSupportedType(const UScriptStruct* Struct) const;
34
35 // Find descriptor for struct with fully qualified name.
37
38 // Find descriptor for struct.
40
41 // Find or create descriptor for struct with fully qualified name.
43
44 // Find or create descriptor for struct.
46
47private:
49
51 // LRU cache for descriptors for limited descriptor counts.
53 // Map struct name -> FReplicationStateDescriptor for unlimited descriptor counts.
55 // Supported types. An empty set indicates all UScriptStructs are supported.
57 FString DebugName;
58 int32 MaxCachedDescriptorCount = 0;
59};
60
61}
62
63USTRUCT()
65{
67
70
73
74 // The property is for serialization support. We store the supported types differently in the descriptor cache.
75 UPROPERTY()
77
78 UE::Net::Private::FInstancedStructDescriptorCache DescriptorCache;
79};
80
89
90namespace UE::Net
91{
92
94
95}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_NET_DECLARE_SERIALIZER(SerializerName, Api)
Definition NetSerializer.h:455
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
Definition NameTypes.h:617
Definition Array.h:670
Definition LruCache.h:40
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition InstancedStructNetSerializer.h:19
~FInstancedStructDescriptorCache()
Definition InstancedStructNetSerializer.cpp:597
TRefCountPtr< const FReplicationStateDescriptor > FindDescriptor(FName StructPath)
Definition InstancedStructNetSerializer.cpp:658
TRefCountPtr< const FReplicationStateDescriptor > FindOrAddDescriptor(FName StructPath)
Definition InstancedStructNetSerializer.cpp:683
void SetDebugName(const FString &DebugName)
Definition InstancedStructNetSerializer.cpp:603
void AddSupportedTypes(const TConstArrayView< TSoftObjectPtr< UScriptStruct > > &SupportedTypes)
Definition InstancedStructNetSerializer.cpp:625
bool IsSupportedType(const UScriptStruct *Struct) const
Definition InstancedStructNetSerializer.cpp:634
FInstancedStructDescriptorCache()
Definition InstancedStructNetSerializer.cpp:592
void SetMaxCachedDescriptorCount(int32 MaxCount)
Definition InstancedStructNetSerializer.cpp:608
Definition Class.h:1720
Definition OverriddenPropertySet.cpp:45
Definition NetworkVersion.cpp:28
Definition NetworkVersion.cpp:28
Definition AdvancedWidgetsModule.cpp:13
Definition InstancedStructNetSerializer.h:65
FInstancedStructNetSerializerConfig & operator=(const FInstancedStructNetSerializerConfig &)=delete
FInstancedStructNetSerializerConfig(const FInstancedStructNetSerializerConfig &)=delete
Definition NetSerializerConfig.h:17
Definition SoftObjectPtr.h:174
Definition StructOpsTypeTraits.h:11
Definition StructOpsTypeTraits.h:46
Definition InstancedStructNetSerializer.cpp:66