UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GlobalDirtyNetObjectTracker.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8
10
11namespace UE::Net
12{
13
14void MarkNetObjectStateDirty(FNetHandle NetHandle, int32 StartRepIndex, int32 EndRepIndex);
15
17{
18public:
20 {
21 public:
22 FPollHandle() = default;
25
27
28 FPollHandle(const FPollHandle&) = delete;
30
31 bool IsValid() const;
32
34 void Destroy();
35
36 private:
38
39 enum : uint32
40 {
41 InvalidIndex = ~0U,
42 };
43
44 explicit FPollHandle(uint32 InIndex);
45
46 uint32 Index = InvalidIndex;
47 };
48
51
52public:
55
57 NETCORE_API static void MarkNetObjectStateDirty(FNetHandle, const int32, const int32);
58
64
67
70
77
84
89
96
102
103protected:
105
107 static void Init();
108
110 static void Deinit();
111
112private:
114 NETCORE_API static void DestroyPoller(uint32 HandleIndex);
115
116 class FPimpl;
117 static FPimpl* Instance;
118};
119
124
125inline void MarkNetObjectStateDirty(FNetHandle NetHandle, int32 StartRepIndex, int32 EndRepIndex)
126{
127 FGlobalDirtyNetObjectTracker::MarkNetObjectStateDirty(NetHandle, StartRepIndex, EndRepIndex);
128}
129
131: Index(InIndex)
132{
133}
134
135inline FGlobalDirtyNetObjectTracker::FPollHandle::FPollHandle(FPollHandle&& Other)
136{
137 Index = Other.Index;
138 Other.Index = InvalidIndex;
139}
140
141inline FGlobalDirtyNetObjectTracker::FPollHandle& FGlobalDirtyNetObjectTracker::FPollHandle::operator=(FPollHandle&& Other)
142{
143 if (IsValid())
144 {
145 FGlobalDirtyNetObjectTracker::DestroyPoller(Index);
146 }
147
148 Index = Other.Index;
149 Other.Index = InvalidIndex;
150
151 return *this;
152}
153
154inline FGlobalDirtyNetObjectTracker::FPollHandle::~FPollHandle()
155{
156 Destroy();
157}
158
159inline bool FGlobalDirtyNetObjectTracker::FPollHandle::IsValid() const
160{
161 return Index != InvalidIndex;
162}
163
164inline void FGlobalDirtyNetObjectTracker::FPollHandle::Destroy()
165{
166 if (IsValid())
167 {
168 FGlobalDirtyNetObjectTracker::DestroyPoller(Index);
169 Index = InvalidIndex;
170 }
171}
172
173}
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NetCoreModule.cpp:29
Definition Array.h:670
Definition GlobalDirtyNetObjectTracker.cpp:26
Definition GlobalDirtyNetObjectTracker.h:17
static void Init()
Definition GlobalDirtyNetObjectTracker.cpp:270
static void Deinit()
Definition GlobalDirtyNetObjectTracker.cpp:276
static NETCORE_API void ResetDirtyNetObjects(const FPollHandle &)
Definition GlobalDirtyNetObjectTracker.cpp:209
static NETCORE_API const FDirtyHandleAndPropertyMap & GetDirtyNetObjectsAndProperties(const FPollHandle &Handle)
Definition GlobalDirtyNetObjectTracker.cpp:184
static NETCORE_API void LockDirtyListUntilReset(const FPollHandle &Handle)
Definition GlobalDirtyNetObjectTracker.cpp:198
friend FNetCoreModule
Definition GlobalDirtyNetObjectTracker.h:104
static NETCORE_API bool ResetDirtyNetObjectsIfSinglePoller(const FPollHandle &)
Definition GlobalDirtyNetObjectTracker.cpp:241
static NETCORE_API FPollHandle CreatePoller(FPreResetDelegate InPreResetDelegate)
Definition GlobalDirtyNetObjectTracker.cpp:114
static NETCORE_API bool IsUsingPerPropertyDirtyTracking()
Definition GlobalDirtyNetObjectTracker.cpp:265
static void MarkNetObjectStateDirty(FNetHandle Handle)
Definition GlobalDirtyNetObjectTracker.h:60
static NETCORE_API const TSet< FNetHandle > & GetDirtyNetObjects(const FPollHandle &Handle)
Definition GlobalDirtyNetObjectTracker.cpp:170
static NETCORE_API void MarkNetObjectStateDirty(FNetHandle, const int32, const int32)
Definition GlobalDirtyNetObjectTracker.cpp:75
Definition NetHandle.h:32
Definition NetworkVersion.cpp:28
void MarkNetObjectStateDirty(FNetHandle NetHandle, int32 StartRepIndex, int32 EndRepIndex)
Definition GlobalDirtyNetObjectTracker.h:125
U16 Index
Definition radfft.cpp:71
Definition GlobalDirtyNetObjectTracker.h:20
FPollHandle & operator=(FPollHandle &&)
Definition GlobalDirtyNetObjectTracker.h:141
FPollHandle & operator=(const FPollHandle &)=delete
void Destroy()
Definition GlobalDirtyNetObjectTracker.h:164
~FPollHandle()
Definition GlobalDirtyNetObjectTracker.h:154
bool IsValid() const
Definition GlobalDirtyNetObjectTracker.h:159