UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StringTokenStore.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "Containers/Map.h"
8#include "Misc/MemStack.h"
9
10namespace UE::Net
11{
12
13// Simple token store used to store string tokens
14// When the PackageMapRefactor is complete we will most likely rely on NetTagManager for persistent storage
16{
18public:
20
21 // Create a string token for the provided string
24
25 // Resolve NetToken, to resolve remote tokens RemoteTokenStoreState must be valid
27
28 // Resolve a token received from remote
33
35 {
36 return StringTokenStoreName;
37 }
38
39protected:
40 // Serialize data for a token, note there is not validation in this function
41 virtual void WriteTokenData(FNetSerializationContext& Context, FNetTokenStoreKey TokenStoreKey) const override;
42 virtual void WriteTokenData(FArchive& Archive, FNetTokenStoreKey TokenStoreKey, UPackageMap* Map = nullptr) const override;
43
44 // Read data for a token, returns a valid StoreKey if successful read
45 virtual FNetTokenStoreKey ReadTokenData(FNetSerializationContext& Context, const FNetToken& NetToken) override;
46 virtual FNetTokenStoreKey ReadTokenData(FArchive& Archive, const FNetToken& NetToken, UPackageMap* Map = nullptr) override;
47
48 // Create a persistent string
49 FNetTokenStoreKey GetOrCreatePersistentString(const TCHAR* Name, uint32 Length);
50
51private:
52 inline static FName StringTokenStoreName = TEXT("StringTokenStore");
53
55 TArray<const TCHAR*> StoredStrings;
56 FMemStackBase Allocator;
57};
58
59}
#define UE_NONCOPYABLE(TypeName)
Definition CoreMiscDefines.h:457
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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 Archive.h:1208
Definition MemStack.h:78
Definition NameTypes.h:617
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition NetSerializationContext.h:31
Definition NetTokenStore.h:98
FNetTokenStore & TokenStore
Definition NetTokenStore.h:176
Definition NetTokenStore.cpp:22
Definition NetTokenStore.h:189
Definition NetToken.h:22
Definition StringTokenStore.h:16
IRISCORE_API const TCHAR * ResolveToken(FNetToken Token, const FNetTokenStoreState *RemoteTokenStoreState=nullptr) const
Definition StringTokenStore.cpp:86
virtual FNetTokenStoreKey ReadTokenData(FNetSerializationContext &Context, const FNetToken &NetToken) override
Definition StringTokenStore.cpp:117
const TCHAR * ResolveRemoteToken(FNetToken Token, const FNetTokenStoreState &NetTokenStoreState) const
Definition StringTokenStore.h:29
static FName GetTokenStoreName()
Definition StringTokenStore.h:34
virtual void WriteTokenData(FNetSerializationContext &Context, FNetTokenStoreKey TokenStoreKey) const override
Definition StringTokenStore.cpp:105
IRISCORE_API FNetToken GetOrCreateToken(const FString &String)
Definition StringTokenStore.cpp:45
FNetTokenStoreKey GetOrCreatePersistentString(const TCHAR *Name, uint32 Length)
Definition StringTokenStore.cpp:50
Definition CoreNet.h:191
Definition NetworkVersion.cpp:28