UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PacketAudit.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5
44// Includes
46#include "HAL/PlatformMemory.h"
47#include "HAL/PlatformProcess.h"
50
51// Forward declarations
52class FPacketAudit;
53
54
55// Globals
56
57#if !UE_BUILD_SHIPPING
60#endif
61
62
74{
75#if !UE_BUILD_SHIPPING
76protected:
81 {
83
85
86 private:
87 FPacketAudit& Auditor;
88 };
89#endif
90
91private:
96 {
97 }
98
103
108
109public:
113 static NETCORE_API void Init();
114
118 static NETCORE_API void Destruct();
119
127 static inline void AddStage(FString StageName, FBitWriter& OutPacket, bool bByteAligned=false)
128 {
129#if !UE_BUILD_SHIPPING
130 if (GPacketAuditor != nullptr)
131 {
133 }
134#endif
135 }
136
144 static inline void CheckStage(FString StageName, FBitReader& InPacket, bool bByteAligned=false)
145 {
146#if !UE_BUILD_SHIPPING
147 if (GPacketAuditor != nullptr)
148 {
150 }
151#endif
152 }
153
160 {
161#if !UE_BUILD_SHIPPING
162 if (GPacketAuditor != nullptr)
163 {
165 }
166#endif
167 }
168
175 {
176#if !UE_BUILD_SHIPPING
177 if (GPacketAuditor != nullptr)
178 {
180 }
181#endif
182 }
183
184 // @todo #JohnB: Deprecate, once the pipeline uses FBitReader/Writers all the way
185#if 1
187 {
188#if !UE_BUILD_SHIPPING
189 if (GPacketAuditor != nullptr)
190 {
192
193 OutPacket.SerializeBits(Data, DataLenBits);
194
196 }
197#endif
198 }
199
200 static inline void NotifyLowLevelReceive(uint8* Data, uint32 DataLen)
201 {
202#if !UE_BUILD_SHIPPING
203 if (GPacketAuditor != nullptr)
204 {
205 FBitReader InPacket(Data, DataLen * 8);
206
208 }
209#endif
210 }
211#endif
212
213protected:
215
217
219
221
222
231
232#if !UE_BUILD_SHIPPING
236 NETCORE_API void DumpAuditData(FScopedAuditAccess& AuditLock, uint32 InPacketCRC=0);
237#endif
238
239
240protected:
243
246
249
252};
253
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
NETCORE_API FPacketAudit * GPacketAuditor
Definition PacketAudit.cpp:32
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition PacketAudit.h:74
static void NotifyLowLevelReceive(FBitReader &InPacket)
Definition PacketAudit.h:174
FPlatformProcess::FSemaphore * GameMutex
Definition PacketAudit.h:242
static void CheckStage(FString StageName, FBitReader &InPacket, bool bByteAligned=false)
Definition PacketAudit.h:144
NETCORE_API void DumpAuditData(FScopedAuditAccess &AuditLock, uint32 InPacketCRC=0)
Definition PacketAudit.cpp:468
static NETCORE_API void Destruct()
Definition PacketAudit.cpp:309
FPlatformProcess::FSemaphore * SharedMutex
Definition PacketAudit.h:245
static void NotifyLowLevelReceive(uint8 *Data, uint32 DataLen)
Definition PacketAudit.h:200
NETCORE_API void AddStage_Internal(FString StageName, FBitWriter &OutPacket, bool bByteAligned)
Definition PacketAudit.cpp:317
static void NotifyLowLevelSend(uint8 *Data, uint32 DataLen, uint32 DataLenBits)
Definition PacketAudit.h:186
static NETCORE_API uint32 PacketCRC(uint8 *Data, uint32 DataLenBits)
Definition PacketAudit.cpp:446
static void NotifyLowLevelSend(FBitWriter &OutPacket)
Definition PacketAudit.h:159
FPlatformMemory::FSharedMemoryRegion * ReceiveSharedMemory
Definition PacketAudit.h:251
static void AddStage(FString StageName, FBitWriter &OutPacket, bool bByteAligned=false)
Definition PacketAudit.h:127
static NETCORE_API void Init()
Definition PacketAudit.cpp:286
NETCORE_API void NotifyLowLevelReceive_Internal(FBitReader &InPacket)
Definition PacketAudit.cpp:438
NETCORE_API void CheckStage_Internal(FString StageName, FBitReader &InPacket, bool bByteAligned)
Definition PacketAudit.cpp:334
NETCORE_API void NotifyLowLevelSend_Internal(FBitWriter &OutPacket)
Definition PacketAudit.cpp:401
FPlatformMemory::FSharedMemoryRegion * SendSharedMemory
Definition PacketAudit.h:248
Definition BitReader.h:25
Definition BitWriter.h:22
Definition GenericPlatformMemory.h:293
Definition GenericPlatformProcess.h:254
Definition PacketAudit.h:81
~FScopedAuditAccess()
Definition PacketAudit.cpp:510