UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ReplicationStateUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "HAL/Platform.h"
11
12namespace UE::Net
13{
16 {
17 Private::FReplicationStateHeaderAccessor::MarkStateDirty(Header);
18 }
19
20} // end namespace UE::Net
21
22namespace UE::Net::Private
23{
24
29{
30 // $IRIS: $TODO: Currently we do not store the offset to the internal replication state
32 return *reinterpret_cast<UE::Net::FReplicationStateHeader*>(reinterpret_cast<uint8*>(StateBuffer) + ReplicationStateHeaderOffset);
33}
34
35inline bool IsReplicationStateBound(void* StateBuffer, const FReplicationStateDescriptor* Descriptor)
36{
37 return GetReplicationStateHeader(StateBuffer, Descriptor).IsBound();
38}
39
47
55
63
67inline void ResetMemberPollMask(uint8* StateBuffer, const FReplicationStateDescriptor* Descriptor)
68{
70}
71
77{
78 // If this state is bound to a replicated object, notify the replication system that we have data to copy
79 // Note that we only check the first bit of the changemask, as this is used to indicate whether the property is dirty or not
80 // some properties might use additional bits but will only be treated as dirty if the parent bit is set.
81 if (InternalState.IsBound() && !MemberChangeMask.GetBit(ChangeMaskInfo.BitOffset))
82 {
83 FReplicationStateHeaderAccessor::MarkStateDirty(InternalState);
85 }
86
87 MemberChangeMask.SetBits(ChangeMaskInfo.BitOffset, ChangeMaskInfo.BitCount);
88}
89
90}
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32 StorageWordType
Definition NetBitArray.h:50
@ ResetOnInit
Definition NetBitArray.h:48
@ NoResetNoValidate
Definition NetBitArray.h:47
Definition NetBitArray.h:337
Definition NetworkVersion.cpp:28
FNetBitArrayView GetMemberConditionalChangeMask(uint8 *StateBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationStateUtil.h:51
bool IsReplicationStateBound(void *StateBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationStateUtil.h:35
void ResetMemberPollMask(uint8 *StateBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationStateUtil.h:67
UE::Net::FReplicationStateHeader & GetReplicationStateHeader(void *StateBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationStateUtil.h:28
FNetBitArrayView GetMemberPollMask(uint8 *StateBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationStateUtil.h:59
void MarkDirty(UE::Net::FReplicationStateHeader &InternalState, FNetBitArrayView &MemberChangeMask, const FReplicationStateMemberChangeMaskDescriptor &ChangeMaskInfo)
Definition ReplicationStateUtil.h:76
FNetBitArrayView GetMemberChangeMask(uint8 *StateBuffer, const FReplicationStateDescriptor *Descriptor)
Definition ReplicationStateUtil.h:43
Definition NetworkVersion.cpp:28
void MarkNetObjectStateHeaderDirty(FReplicationStateHeader &Header)
Definition ReplicationStateUtil.h:15
Definition ReplicationStateDescriptor.h:199
uint16 ChangeMaskBitCount
Definition ReplicationStateDescriptor.h:256
uint32 GetConditionalChangeMaskOffset() const
Definition ReplicationStateDescriptor.h:208
uint32 GetChangeMaskOffset() const
Definition ReplicationStateDescriptor.h:207
uint32 ChangeMasksExternalOffset
Definition ReplicationStateDescriptor.h:260
EReplicationStateTraits Traits
Definition ReplicationStateDescriptor.h:274
uint16 MemberCount
Definition ReplicationStateDescriptor.h:246
uint32 GetMemberPollMaskOffset() const
Definition ReplicationStateDescriptor.h:209
Definition ReplicationStateFwd.h:20
bool IsBound() const
Definition ReplicationStateFwd.h:24
Definition ReplicationStateDescriptor.h:77
uint16 BitOffset
Definition ReplicationStateDescriptor.h:78
uint16 BitCount
Definition ReplicationStateDescriptor.h:79