5#include "Containers/Array.h"
61 static_assert(
sizeof(
FRecordInfo) == 16,
"Expected sizeof FRecordInfo to be 16 bytes");
62 static_assert(
sizeof(
ReplicationRecordIndex) == 2,
"Need to remove or adjust Padding field in FRecordInfo");
126 inline void PopInfo();
148, AttachmentRecords(64)
149, SubObjectRecords(128)
159 return &RecordInfos.PokeAtOffsetNoCheck(
Offset);
170 return &RecordInfos.PeekAtOffsetNoCheck(
Offset);
178 const uint64 AttachmentRecord = AttachmentRecords.
Peek();
179 AttachmentRecords.
Pop();
180 return AttachmentRecord;
186 SubObjectRecords.Pop();
211 FRecordInfo&
NewInfo = RecordInfos.EnqueueDefaulted_GetRef();
218void FReplicationRecord::PopInfo()
242 AttachmentRecords.
Enqueue(AttachmentRecord);
288: LastRecordIndex(InvalidReplicationRecordIndex)
289, FirstRecordIndex(InvalidReplicationRecordIndex)
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition ResizableCircularQueue.h:21
const ElementT & PeekAtOffset(SIZE_T Offset=0) const
Definition ResizableCircularQueue.h:76
const ElementT & Peek() const
Definition ResizableCircularQueue.h:82
SIZE_T Count() const
Definition ResizableCircularQueue.h:34
void Enqueue(const ElementT &SrcData)
Definition ResizableCircularQueue.h:152
void Pop()
Definition ResizableCircularQueue.h:220
Definition ChangeMaskUtil.h:29
Definition ReplicationRecord.h:13
FSubObjectRecord DequeueSubObjectRecord()
Definition ReplicationRecord.h:183
static constexpr ReplicationRecordIndex InvalidReplicationRecordIndex
Definition ReplicationRecord.h:17
void PushRecord(uint16 InfoCount)
Definition ReplicationRecord.h:190
const FRecordInfo & PeekInfo() const
Definition ReplicationRecord.h:95
uint16 PopRecord()
Definition ReplicationRecord.h:195
const uint32 PeekRecordAtOffset(uint32 Offset) const
Definition ReplicationRecord.h:115
const uint32 GetUnusedInfoCount() const
Definition ReplicationRecord.h:98
static constexpr ReplicationRecordIndex MaxReplicationRecordCount
Definition ReplicationRecord.h:19
const uint32 GetInfoCount() const
Definition ReplicationRecord.h:97
void ResetList(FRecordInfoList &RecordList)
Definition ReplicationRecord.h:281
void PushInfoAndAddToList(FRecordInfoList &RecordList, const FRecordInfo &RecordInfo, uint64 AttachmentRecord=0)
Definition ReplicationRecord.h:237
FRecordInfo * GetInfoForIndex(ReplicationRecordIndex Index)
Definition ReplicationRecord.h:154
uint64 DequeueAttachmentRecord()
Definition ReplicationRecord.h:176
const FRecordInfo & PeekInfoAtOffset(uint32 Offset) const
Definition ReplicationRecord.h:96
uint16 ReplicationRecordIndex
Definition ReplicationRecord.h:16
static constexpr uint32 ReplicatedObjectStateBitCount
Definition ReplicationRecord.h:22
void PopInfoAndRemoveFromList(FRecordInfoList &RecordList)
Definition ReplicationRecord.h:224
const uint32 GetRecordCount() const
Definition ReplicationRecord.h:118
ReplicationRecordIndex GetFrontIndex() const
Definition ReplicationRecord.h:107
FReplicationRecord()
Definition ReplicationRecord.h:145
static constexpr uint32 ObjectIndexBitCount
Definition ReplicationRecord.h:21
Definition NetworkVersion.cpp:28
U16 Index
Definition radfft.cpp:71
Definition ReplicationRecord.h:68
ReplicationRecordIndex FirstRecordIndex
Definition ReplicationRecord.h:72
ReplicationRecordIndex LastRecordIndex
Definition ReplicationRecord.h:71
FRecordInfoList()
Definition ReplicationRecord.h:287
Definition ReplicationRecord.h:47
uint32 WroteTearOff
Definition ReplicationRecord.h:53
uint32 HasSubObjectRecord
Definition ReplicationRecord.h:56
uint32 NewBaselineIndex
Definition ReplicationRecord.h:55
uint32 ReplicatedObjectState
Definition ReplicationRecord.h:50
uint32 HasChangeMask
Definition ReplicationRecord.h:51
uint32 Index
Definition ReplicationRecord.h:49
uint32 HasAttachments
Definition ReplicationRecord.h:52
uint32 WroteDestroySubObject
Definition ReplicationRecord.h:54
ReplicationRecordIndex NextIndex
Definition ReplicationRecord.h:57
FChangeMaskStorageOrPointer ChangeMaskOrPtr
Definition ReplicationRecord.h:48
uint16 Padding
Definition ReplicationRecord.h:58
Definition ReplicationRecord.h:26
uint16 RecordCount
Definition ReplicationRecord.h:27
Definition ReplicationRecord.h:33
uint32 ReplicatedObjectState
Definition ReplicationRecord.h:35
uint32 Index
Definition ReplicationRecord.h:34
Definition ReplicationRecord.h:31
TArray< FSubObjectInfo > SubObjectInfos
Definition ReplicationRecord.h:38