UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ReplicationOperations.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
9class FMemStackBase;
10namespace UE::Net
11{
12 class FNetBitStreamWriter;
13 class FNetBitStreamReader;
14 class FNetSerializationContext;
15 struct FReplicationInstanceProtocol;
16 struct FReplicationStateDescriptor;
17 class FReplicationStateOwnerCollector;
18 struct FReplicationProtocol;
19 struct FDequantizeAndApplyParameters;
20}
21
22namespace UE::Net
23{
24
25//$IRIS TODO: Consider what methods we should expose here, currently they are all public!
26
28{
31
34
37
40
43
46
48 static IRISCORE_API bool IsEqualQuantizedState(FNetSerializationContext& Context, const uint8* RESTRICT Source0, const uint8* RESTRICT Source1, const FReplicationStateDescriptor* Descriptor);
49
51 static IRISCORE_API void OutputDefaultStateMembersHashToString(UReplicationSystem* ReplicationSystem, FStringBuilderBase& StringBuilder, const FReplicationStateDescriptor* Descriptor);
52
55
58
61
64
67
70
73
76
79};
80
82{
85
88
91
99
108
110 static IRISCORE_API void ResetDirtiness(const FReplicationInstanceProtocol* InstanceProtocol, const FReplicationProtocol* Protocol);
111
114
116 static IRISCORE_API void DequantizeAndApply(FNetSerializationContext& Context, FMemStackBase& InAllocator, const uint32* ChangeMaskData, const FReplicationInstanceProtocol* InstanceProtocol, const uint8* SrcObjectStateBuffer, const FReplicationProtocol* Protocol);
117
119 static IRISCORE_API void OutputInternalStateToString(FNetSerializationContext& Context, FStringBuilderBase& StringBuilder, const uint32* ChangeMaskData, const uint8* SrcInternalObjectStateBuffer, const FReplicationInstanceProtocol* InstanceProtocol, const FReplicationProtocol* Protocol);
120
122 static IRISCORE_API void OutputInternalDefaultStateToString(FNetSerializationContext& NetSerializationContext, FStringBuilderBase& StringBuilder, const FReplicationFragments& Fragments);
123
126
127};
128
130{
132 static IRISCORE_API void Serialize(FNetSerializationContext& Context, const uint8* RESTRICT SrcObjectStateBuffer, const FReplicationProtocol* Protocol);
133
136
138 static IRISCORE_API void SerializeWithMask(FNetSerializationContext& Context, const uint32* ChangeMaskData, const uint8* RESTRICT SrcObjectStateBuffer, const FReplicationProtocol* Protocol);
139
142
144 static IRISCORE_API bool IsEqualQuantizedState(FNetSerializationContext& Context, const uint8* RESTRICT Source0, const uint8* RESTRICT Source1, const FReplicationProtocol* Protocol);
145
147 static IRISCORE_API void FreeDynamicState(FNetSerializationContext& Context, uint8* RESTRICT SrcObjectStateBuffer, const FReplicationProtocol* Protocol);
148
151
153 static IRISCORE_API void SerializeInitialStateWithMask(FNetSerializationContext& Context, const uint32* ChangeMaskData, const uint8* RESTRICT SrcObjectStateBuffer, const FReplicationProtocol* Protocol);
154
157
159 static IRISCORE_API void SerializeWithMaskDelta(FNetSerializationContext& Context, const uint32* ChangeMaskData, const uint8* RESTRICT SrcObjectStateBuffer, const uint8* RESTRICT PrevObjectStateBuffer, const FReplicationProtocol* Protocol);
160
163};
164
166
167}
#define RESTRICT
Definition Platform.h:706
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MemStack.h:78
Definition NetBitArray.h:337
Definition NetBitStreamWriter.h:11
Definition NetSerializationContext.h:31
Definition ReplicationSystem.h:70
Definition NetworkVersion.cpp:28
EReplicationFragmentPollFlags
Definition ReplicationFragment.h:153
EReplicationFragmentTraits
Definition ReplicationFragment.h:102
void ResetLifetimeConditionDebugNames()
Definition ReplicationOperations.cpp:1408
Definition DequantizeAndApplyHelper.h:17
Definition ReplicationOperations.h:82
static IRISCORE_API void QuantizeIfDirty(FNetSerializationContext &Context, uint8 *DstObjectStateBuffer, FNetBitStreamWriter *ChangeMaskWriter, const FReplicationInstanceProtocol *InstanceProtocol, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:753
static IRISCORE_API void ResetDirtiness(const FReplicationInstanceProtocol *InstanceProtocol, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:805
static IRISCORE_API void DequantizeAndApply(FNetSerializationContext &Context, const FDequantizeAndApplyParameters &Parameters)
Definition ReplicationOperations.cpp:820
static IRISCORE_API bool PollAndCopyObjectReferences(const FReplicationInstanceProtocol *InstanceProtocol, EReplicationFragmentTraits RequiredTraits, EReplicationFragmentPollFlags PollOptions=EReplicationFragmentPollFlags::None)
Definition ReplicationOperations.cpp:695
static IRISCORE_API void Quantize(FNetSerializationContext &Context, uint8 *DstObjectStateBuffer, FNetBitStreamWriter *ChangeMaskWriter, const FReplicationInstanceProtocol *InstanceProtocol, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:713
static IRISCORE_API void OutputInternalDefaultStateToString(FNetSerializationContext &NetSerializationContext, FStringBuilderBase &StringBuilder, const FReplicationFragments &Fragments)
Definition ReplicationOperations.cpp:930
static IRISCORE_API void OutputInternalStateToString(FNetSerializationContext &Context, FStringBuilderBase &StringBuilder, const uint32 *ChangeMaskData, const uint8 *SrcInternalObjectStateBuffer, const FReplicationInstanceProtocol *InstanceProtocol, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:861
static IRISCORE_API void OutputInternalDefaultStateMemberHashesToString(UReplicationSystem *ReplicationSystem, FStringBuilderBase &StringBuilder, const FReplicationFragments &Fragments)
Definition ReplicationOperations.cpp:914
static IRISCORE_API bool PollAndCopyPropertyData(const FReplicationInstanceProtocol *InstanceProtocol, EReplicationFragmentTraits ExcludeTraits, EReplicationFragmentPollFlags PollOptions=EReplicationFragmentPollFlags::PollAllState)
Definition ReplicationOperations.cpp:671
Definition ReplicationProtocol.h:42
Definition ReplicationOperations.h:130
static IRISCORE_API void SerializeWithMask(FNetSerializationContext &Context, const uint32 *ChangeMaskData, const uint8 *RESTRICT SrcObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:997
static IRISCORE_API void DeserializeInitialStateWithMask(FNetSerializationContext &Context, uint32 *DstChangeMaskData, uint8 *RESTRICT DstObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1185
static IRISCORE_API void InitializeFromDefaultState(FNetSerializationContext &Context, uint8 *RESTRICT StateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1355
static IRISCORE_API void Deserialize(FNetSerializationContext &Context, uint8 *RESTRICT DstObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:978
static IRISCORE_API void SerializeInitialStateWithMask(FNetSerializationContext &Context, const uint32 *ChangeMaskData, const uint8 *RESTRICT SrcObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1129
static IRISCORE_API void FreeDynamicState(FNetSerializationContext &Context, uint8 *RESTRICT SrcObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1104
static IRISCORE_API void SerializeWithMaskDelta(FNetSerializationContext &Context, const uint32 *ChangeMaskData, const uint8 *RESTRICT SrcObjectStateBuffer, const uint8 *RESTRICT PrevObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1246
static IRISCORE_API bool IsEqualQuantizedState(FNetSerializationContext &Context, const uint8 *RESTRICT Source0, const uint8 *RESTRICT Source1, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1383
static IRISCORE_API void DeserializeWithMask(FNetSerializationContext &Context, uint32 *DstChangeMaskData, uint8 *RESTRICT DstObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1052
static IRISCORE_API void DeserializeWithMaskDelta(FNetSerializationContext &Context, uint32 *DstChangeMaskData, uint8 *RESTRICT DstObjectStateBuffer, const uint8 *RESTRICT PrevObjectStateBuffer, const FReplicationProtocol *Protocol)
Definition ReplicationOperations.cpp:1302
Definition ReplicationProtocol.h:83
Definition ReplicationStateDescriptor.h:199
Definition ReplicationOperations.h:28
static IRISCORE_API void SerializeDeltaWithMask(FNetSerializationContext &Context, const FNetBitArrayView &ChangeMask, const uint32 ChangeMaskOffset, const uint8 *RESTRICT SrcInternalBuffer, const uint8 *RESTRICT PrevInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:569
static IRISCORE_API void DeserializeDeltaWithMask(FNetSerializationContext &Context, const FNetBitArrayView &ChangeMask, const uint32 ChangeMaskOffset, uint8 *RESTRICT DstInternalBuffer, const uint8 *RESTRICT PrevInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:617
static IRISCORE_API void QuantizeWithMask(FNetSerializationContext &Context, const FNetBitArrayView &ChangeMask, const uint32 ChangeMaskOffset, uint8 *RESTRICT DstInternalBuffer, const uint8 *RESTRICT SrcExternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:108
static IRISCORE_API void FreeDynamicState(FNetSerializationContext &Context, uint8 *RESTRICT StateInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:209
static IRISCORE_API void DeserializeWithMask(FNetSerializationContext &Context, const FNetBitArrayView &ChangeMask, const uint32 ChangeMaskOffset, uint8 *RESTRICT DstInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:521
static IRISCORE_API bool IsEqualQuantizedState(FNetSerializationContext &Context, const uint8 *RESTRICT Source0, const uint8 *RESTRICT Source1, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:214
static IRISCORE_API void OutputDefaultStateMembersHashToString(UReplicationSystem *ReplicationSystem, FStringBuilderBase &StringBuilder, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:339
static IRISCORE_API bool Validate(FNetSerializationContext &Context, const uint8 *RESTRICT SrcExternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:244
static IRISCORE_API void Quantize(FNetSerializationContext &Context, uint8 *RESTRICT DstInternalBuffer, const uint8 *RESTRICT SrcExternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:85
static IRISCORE_API void SerializeDelta(FNetSerializationContext &Context, const uint8 *RESTRICT SrcInternalBuffer, const uint8 *RESTRICT PrevInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:422
static IRISCORE_API void Deserialize(FNetSerializationContext &Context, uint8 *RESTRICT DstInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:396
static IRISCORE_API void ApplyStruct(FNetSerializationContext &Context, uint8 *RESTRICT DstExternalBuffer, const uint8 *RESTRICT SrcExternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:666
static IRISCORE_API void SerializeWithMask(FNetSerializationContext &Context, const FNetBitArrayView &ChangeMask, const uint32 ChangeMaskOffset, const uint8 *RESTRICT SrcInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:474
static IRISCORE_API void Dequantize(FNetSerializationContext &Context, uint8 *RESTRICT DstExternalBuffer, const uint8 *RESTRICT SrcInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:185
static IRISCORE_API void DeserializeDelta(FNetSerializationContext &Context, uint8 *RESTRICT DstInternalBuffer, const uint8 *RESTRICT PrevInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:447
static IRISCORE_API void DequantizeWithMask(FNetSerializationContext &Context, const FNetBitArrayView &ChangeMask, const uint32 ChangeMaskOffset, uint8 *RESTRICT DstExternalBuffer, const uint8 *RESTRICT SrcInternalBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationOperations.cpp:144