149class TStructNetTokenDataStoreHelper;
173 if (!Result.IsValid())
195 return StoredStates[
StoreKey.GetKeyIndex()];
213 return T::GetTokenStoreName();
238 if (!Descriptor.IsValid())
276 if (!Descriptor.IsValid())
285 if (!
Context.HasErrorOrOverflow())
313 if (HashToKey.Contains(HashKey))
315 UE_LOG(
LogNetToken, VeryVerbose,
TEXT(
"TStructNetTokenDataStore::GetOrCreatePersistentState %s FoundToken, Hash: %llu KeyIndex: %d"), *
GetTokenStoreName().ToString(), HashKey, HashToKey[HashKey].GetKeyIndex());
316 return HashToKey[HashKey];
320 if (NewKey.IsValid())
322 HashToKey.Add(HashKey, NewKey);
324 UE_LOG(
LogNetToken, VeryVerbose,
TEXT(
"TStructNetTokenDataStore::GetOrCreatePersistentState %s Adding New, Hash: %llu KeyIndex: %d"), *
GetTokenStoreName().ToString(), HashKey, HashToKey[HashKey].GetKeyIndex());
336 static inline T InvalidState = T();
342 bool HasPostFreezeBeenCalled()
const {
return bPostFreezeHasBeenCalled; }
345 bool bPostFreezeHasBeenCalled =
false;
346 virtual void OnPostFreezeNetSerializerRegistry()
override
348 bPostFreezeHasBeenCalled =
true;
358 FReplicationStateDescriptorBuilder::FParameters Params;
361 Params.SkipCheckForCustomNetSerializerForStruct = 1U;
376template <
typename T,
typename NetTokenDataStoreT = TStructNetTokenDataStore<T>>
396template <
typename T,
typename NetTokenDataStoreT>
402 if (
Context.IsInitializingDefaultState())
414template <
typename T,
typename NetTokenDataStoreT>
421template <
typename T,
typename NetTokenDataStoreT>
435 UE_LOG(
LogIris,
Error,
TEXT(
"TStructAsNetTokenNetSerializerImpl<T>::Quantize Could not find required FNetTokenDataStore %s"), *NetTokenDataStoreT::GetTokenStoreName().ToString());
440template <
typename T,
typename NetTokenDataStoreT>
452 UE_LOG(
LogIris,
Error,
TEXT(
"TStructAsNetTokenNetSerializerImpl<T>::Deqquantize Could not find required FNetTokenDataStore %s"), *NetTokenDataStoreT::GetTokenStoreName().ToString());
458template <
typename T,
typename NetTokenDataStoreT>
475 if (Source0 != Source1)
480 else if (Value0 != Value1)
491 return Value0 == Value1;
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define UE_NONCOPYABLE(TypeName)
Definition CoreMiscDefines.h:457
#define UE_DISABLE_OPTIMIZATION_SHIP
Definition CoreMiscDefines.h:45
#define UE_ENABLE_OPTIMIZATION_SHIP
Definition CoreMiscDefines.h:51
FString GetNameSafe(const FField *InField)
Definition Field.h:1230
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
#define LLM_SCOPE_BYTAG(...)
Definition LowLevelMemTracker.h:1099
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsError() const
Definition Archive.h:362
Definition NameTypes.h:617
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
UE_FORCEINLINE_HINT bool IsValid() const
Definition RefCounting.h:594
Definition NetSerializationContext.h:31
Definition NetSerializerDelegates.h:19
Definition NetTokenStore.h:101
Definition NetTokenStore.h:98
IRISCORE_API FNetToken CreateAndStoreTokenForKey(FNetTokenStoreKey Key)
Definition NetTokenStore.cpp:87
FNetTokenStore & TokenStore
Definition NetTokenStore.h:176
FNetTokenDataStore::FNetTokenStoreKey GetNextNetTokenStoreKey()
Definition NetTokenStore.h:408
IRISCORE_API FNetTokenDataStore::FNetTokenStoreKey GetTokenKey(FNetToken Token, const FNetTokenStoreState &TokenStoreState) const
Definition NetTokenStore.cpp:71
IRISCORE_API FNetToken GetNetTokenFromKey(FNetTokenStoreKey) const
Definition NetTokenStore.cpp:116
Definition NetTokenStore.cpp:22
Definition NetTokenStore.h:189
const FNetTokenStoreState * GetLocalNetTokenStoreState() const
Definition NetTokenStore.h:261
static IRISCORE_API void AppendExport(FNetSerializationContext &, FNetToken NetToken)
Definition NetTokenStore.cpp:537
bool IsLocalToken(const FNetToken NetToken) const
Definition NetTokenStore.h:210
bool IsValid() const
Definition NetToken.h:52
bool IsAssignedByAuthority() const
Definition NetToken.h:57
FString ToString() const
Definition NetToken.h:118
static IRISCORE_API TRefCountPtr< const FReplicationStateDescriptor > CreateDescriptorForStruct(const UStruct *InStruct, const FParameters &Parameters=FParameters())
Definition ReplicationStateDescriptorBuilder.cpp:2487
Definition StructNetTokenDataStore.h:378
FNetToken QuantizedType
Definition StructNetTokenDataStore.h:384
static const uint32 Version
Definition StructNetTokenDataStore.h:381
static void Dequantize(FNetSerializationContext &, const FNetDequantizeArgs &)
Definition StructNetTokenDataStore.h:441
static void Deserialize(FNetSerializationContext &, const FNetDeserializeArgs &)
Definition StructNetTokenDataStore.h:415
static void Quantize(FNetSerializationContext &, const FNetQuantizeArgs &)
Definition StructNetTokenDataStore.h:422
struct FNetSerializerConfig ConfigType
Definition StructNetTokenDataStore.h:385
static void Serialize(FNetSerializationContext &, const FNetSerializeArgs &)
Definition StructNetTokenDataStore.h:397
T SourceType
Definition StructNetTokenDataStore.h:383
static bool IsEqual(FNetSerializationContext &, const FNetIsEqualArgs &)
Definition StructNetTokenDataStore.h:459
static const ConfigType DefaultConfig
Definition StructNetTokenDataStore.h:386
Definition StructNetTokenDataStoreHelper.h:19
Definition StructNetTokenDataStore.h:153
const T & ResolveRemoteToken(FNetToken Token, const FNetTokenStoreState &NetTokenStoreState) const
Definition StructNetTokenDataStore.h:206
T DataType
Definition StructNetTokenDataStore.h:158
static const T & GetInvalidState()
Definition StructNetTokenDataStore.h:216
DECLARE_DELEGATE_ThreeParams(TNetSerializeTokenType, T &, FArchive &, UPackageMap *)
virtual FNetTokenStoreKey ReadTokenData(FNetSerializationContext &Context, const FNetToken &NetToken) override
Definition StructNetTokenDataStore.h:274
static TNetSerializeTokenType NetSerializeScriptDelegate
Definition StructNetTokenDataStore.h:224
static UE_DISABLE_OPTIMIZATION_SHIP TStructNetTokenDataStore< T >::FNetSerializerRegistryDelegates NetSerializerRegistryDelegates
Definition StructNetTokenDataStore.h:371
const T & ResolveToken(FNetToken Token, const FNetTokenStoreState *RemoteTokenStoreState=nullptr) const
Definition StructNetTokenDataStore.h:184
FNetToken GetOrCreateToken(const T &InData)
Definition StructNetTokenDataStore.h:166
virtual FNetTokenStoreKey ReadTokenData(FArchive &Ar, const FNetToken &NetToken, UPackageMap *Map=nullptr) override
Definition StructNetTokenDataStore.h:294
virtual void WriteTokenData(FArchive &Ar, FNetTokenStoreKey TokenStoreKey, UPackageMap *Map=nullptr) const override
Definition StructNetTokenDataStore.h:256
FNetTokenStoreKey GetOrCreatePersistentState(const T &InNetTokenData)
Definition StructNetTokenDataStore.h:309
static FName GetTokenStoreName()
Definition StructNetTokenDataStore.h:211
virtual void WriteTokenData(FNetSerializationContext &Context, FNetTokenStoreKey TokenStoreKey) const override
Definition StructNetTokenDataStore.h:229
Definition NetworkVersion.cpp:28
void WriteStruct(FNetSerializationContext &Context, NetSerializerValuePointer InValue, const FReplicationStateDescriptor *Descriptor)
Definition StructNetSerializerUtil.cpp:10
const FName GNetError_InvalidValue("Invalid value")
Definition NetErrorContext.h:18
UPTRINT NetSerializerValuePointer
Definition NetSerializer.h:139
void ReadStruct(FNetSerializationContext &Context, NetSerializerValuePointer OutValue, const FReplicationStateDescriptor *Descriptor)
Definition StructNetSerializerUtil.cpp:40
const FName GNetError_InternalError("Internal error")
Definition NetErrorContext.h:19
Definition NetSerializerConfig.h:17
Definition NetSerializer.h:259
NetSerializerValuePointer Source
Definition NetSerializer.h:261
NetSerializerValuePointer Target
Definition NetSerializer.h:263
Definition NetSerializer.h:194
NetSerializerValuePointer Target
Definition NetSerializer.h:195
Definition NetSerializer.h:274
NetSerializerValuePointer Source1
Definition NetSerializer.h:278
NetSerializerValuePointer Source0
Definition NetSerializer.h:276
bool bStateIsQuantized
Definition NetSerializer.h:280
Definition NetSerializer.h:243
NetSerializerValuePointer Target
Definition NetSerializer.h:247
NetSerializerValuePointer Source
Definition NetSerializer.h:245
Definition NetSerializer.h:183
NetSerializerValuePointer Source
Definition NetSerializer.h:185