UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NetToken.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"
8#include "Logging/LogMacros.h"
9
11
12namespace UE::Net
13{
14 class FNetTokenStore;
15 class FNetTokenStoreState;
16}
17
18namespace UE::Net
19{
20
22{
23public:
24 typedef uint32 FTypeId;
25
26 enum : uint32 { Invalid = 0U };
27
30
33
35 enum : uint32 { TokenBits = 20U };
36
39
41 {
42 None,
44 };
45
46public:
48 : Value(Invalid)
49 {
50 }
51
52 inline bool IsValid() const
53 {
54 return Index != InvalidTokenIndex;
55 }
56
58 {
59 return bIsAssignedByAuthority != 0U;
60 }
61
63 {
64 return Index;
65 }
66
68 {
69 return TypeId;
70 }
71
72 bool operator==(const FNetToken& Other) const
73 {
74 return Value == Other.Value;
75 }
76
77 FString ToString() const;
78
79 friend uint32 GetTypeHash(const FNetToken& Token)
80 {
81 return ::GetTypeHash(Token.Value);
82 }
83
84private:
86
88 {
89 Padding = 0U;
91 Index = InIndex;
93 }
94
95private:
96
97 union
98 {
99 struct
100 {
101 uint32 Index : TokenBits;
102 uint32 TypeId : TokenTypeIdBits;
104 uint32 Padding : 32 - TokenTypeIdBits - TokenBits - 1U;
105 };
107 };
108};
109
110// Contains necessary context to resolve NetTokens
117
118inline FString FNetToken::ToString() const
119{
120 FString Result;
121 Result = FString::Printf(TEXT("NetToken (Auth:%u TypeId=%u Index=%u)"), IsAssignedByAuthority(), TypeId, Index);
122 return Result;
123}
124
125}
126
127template <> struct TIsPODType<UE::Net::FNetToken> { enum { Value = true }; };
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NetToken.h:112
FNetTokenStore * NetTokenStore
Definition NetToken.h:114
const FNetTokenStoreState * RemoteNetTokenStoreState
Definition NetToken.h:115
Definition NetTokenStore.cpp:22
Definition NetTokenStore.h:189
Definition NetToken.h:22
FTypeId GetTypeId() const
Definition NetToken.h:67
uint32 GetIndex() const
Definition NetToken.h:62
uint32 Value
Definition NetToken.h:106
bool IsValid() const
Definition NetToken.h:52
ENetTokenAuthority
Definition NetToken.h:41
uint32 TypeId
Definition NetToken.h:102
FNetToken()
Definition NetToken.h:47
@ MaxNetTokenCount
Definition NetToken.h:38
@ Invalid
Definition NetToken.h:26
bool IsAssignedByAuthority() const
Definition NetToken.h:57
@ InvalidTokenIndex
Definition NetToken.h:29
bool operator==(const FNetToken &Other) const
Definition NetToken.h:72
@ InvalidTokenTypeId
Definition NetToken.h:28
uint32 FTypeId
Definition NetToken.h:24
uint32 Padding
Definition NetToken.h:104
@ MaxTypeIdCount
Definition NetToken.h:37
@ TokenTypeIdBits
Definition NetToken.h:32
uint32 bIsAssignedByAuthority
Definition NetToken.h:103
friend uint32 GetTypeHash(const FNetToken &Token)
Definition NetToken.h:79
uint32 Index
Definition NetToken.h:101
FString ToString() const
Definition NetToken.h:118
@ TokenBits
Definition NetToken.h:35
Definition NetworkVersion.cpp:28
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition IsPODType.h:12