6#include "Containers/Array.h"
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_NET_TRACE_DESTROY_COLLECTOR(...)
Definition NetTrace.h:145
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition ChunkedDataStream.h:21
Definition RefCounting.h:454
Definition RingBuffer.h:135
Definition SharedPointer.h:692
Definition UniquePtr.h:107
EWriteResult
Definition DataStream.h:65
Definition NetSerializationContext.h:31
Definition ChunkedDataWriter.h:19
UDataStream::FBeginWriteParameters FBeginWriteParameters
Definition ChunkedDataWriter.h:22
uint32 SequenceToIndex(uint32 Seq) const
Definition ChunkedDataWriter.h:91
UDataStream::EWriteResult EWriteResult
Definition ChunkedDataWriter.h:21
uint32 ExportsBufferMaxSize
Definition ChunkedDataWriter.h:190
uint32 CurrentBytesInSendQueue
Definition ChunkedDataWriter.h:187
bool IsSequenceSent(uint32 Seq) const
Definition ChunkedDataWriter.h:121
FInitParameters InitParams
Definition ChunkedDataWriter.h:182
uint32 SendBufferMaxSize
Definition ChunkedDataWriter.h:193
uint16 NextSequenceNumber
Definition ChunkedDataWriter.h:178
void PopDeliveredChunks()
Definition ChunkedDataWriter.cpp:412
void ProcessPacketDeliveryStatus(UE::Net::EPacketDeliveryStatus Status, FDataStreamRecord const *Record)
Definition ChunkedDataWriter.cpp:449
bool IsIndexSent(uint32 Index) const
Definition ChunkedDataWriter.h:116
UE::Net::FIrisPackageMapExports PackageMapExports
Definition ChunkedDataWriter.h:196
TRingBuffer< FDataChunk > DataChunksPendingSend
Definition ChunkedDataWriter.h:170
uint32 Acked[(FChunkedDataStreamParameters::MaxUnackedDataChunkCount+31)/32]
Definition ChunkedDataWriter.h:177
void SetIndexIsSent(uint32 Index)
Definition ChunkedDataWriter.h:126
uint32 Sent[(FChunkedDataStreamParameters::MaxUnackedDataChunkCount+31)/32]
Definition ChunkedDataWriter.h:176
void SetIndexIsAcked(uint32 Index)
Definition ChunkedDataWriter.h:101
void ResetExports()
Definition ChunkedDataWriter.cpp:196
EWriteResult BeginWrite(const FBeginWriteParameters &Params)
Definition ChunkedDataWriter.cpp:244
FObjectReferenceCache * ObjectReferenceCache
Definition ChunkedDataWriter.h:184
void ClearSequenceIsSent(uint32 Seq)
Definition ChunkedDataWriter.h:141
void SetSequenceIsSent(uint32 Seq)
Definition ChunkedDataWriter.h:131
bool SplitPayload(FSendQueueEntry &SrcEntry, TConstArrayView< uint8 > Payload, bool bIsExportPayload=false)
Definition ChunkedDataWriter.cpp:70
FReferencesForExport * CreateExportPayload()
Definition ChunkedDataWriter.cpp:112
bool UpdateSendQueue()
Definition ChunkedDataWriter.cpp:259
void RemoveSendQueueEntry(FSendQueueEntry *SendQueueEntry)
Definition ChunkedDataWriter.cpp:403
bool CanSend() const
Definition ChunkedDataWriter.cpp:239
UReplicationSystem * ReplicationSystem
Definition ChunkedDataWriter.h:183
UE::Net::FNetTokenExportContext::FNetTokenExports NetTokensPendingExport
Definition ChunkedDataWriter.h:197
void ClearIndexIsAcked(uint32 Index)
Definition ChunkedDataWriter.h:111
TRingBuffer< uint16 > DataChunksPendingAck
Definition ChunkedDataWriter.h:173
bool EnqueuePayload(const TSharedPtr< TArray64< uint8 > > &Payload)
Definition ChunkedDataWriter.cpp:202
bool IsIndexAcked(uint32 Index) const
Definition ChunkedDataWriter.h:96
TArray< TUniquePtr< FSendQueueEntry > > SendQueue
Definition ChunkedDataWriter.h:167
bool HasAcknowledgedAllReliableData() const
Definition ChunkedDataWriter.cpp:254
EWriteResult WriteData(UE::Net::FNetSerializationContext &Context, FDataStreamRecord const *&OutRecord)
Definition ChunkedDataWriter.cpp:284
void ClearIndexIsSent(uint32 Index)
Definition ChunkedDataWriter.h:136
void SetSequenceIsAcked(uint32 Seq)
Definition ChunkedDataWriter.h:106
uint32 GetQueuedBytes() const
Definition ChunkedDataWriter.h:160
Definition ObjectReferenceCache.h:38
Definition ReplicationSystem.h:70
Definition NetworkVersion.cpp:28
EPacketDeliveryStatus
Definition PacketNotification.h:12
U16 Index
Definition radfft.cpp:71
Definition DataStream.h:39
Definition DataStream.h:124
Definition DataStream.h:102
Definition IrisObjectReferencePackageMap.h:21
static constexpr uint32 MaxUnackedDataChunkCount
Definition ChunkedDataStreamCommon.h:26
Definition ChunkedDataWriter.h:76
uint32 PayloadByteOffset
Definition ChunkedDataWriter.h:82
uint16 SequenceNumber
Definition ChunkedDataWriter.h:84
uint16 bIsFirstChunk
Definition ChunkedDataWriter.h:86
FDataChunk()
Definition ChunkedDataWriter.cpp:18
uint16 bIsExportChunk
Definition ChunkedDataWriter.h:87
uint32 PartCount
Definition ChunkedDataWriter.h:83
TRefCountPtr< FSendQueueEntry > SrcEntry
Definition ChunkedDataWriter.h:81
uint16 PartByteCount
Definition ChunkedDataWriter.h:85
Definition ChunkedDataWriter.h:28
FNetExportContext::FBatchExports BatchExports
Definition ChunkedDataWriter.h:30
TArray< uint8, TAlignedHeapAllocator<> > ExportsPayload
Definition ChunkedDataWriter.h:29
~FReferencesForExport()
Definition ChunkedDataWriter.h:32
FNetTraceCollector * TraceCollector
Definition ChunkedDataWriter.h:39
Definition ChunkedDataWriter.h:44
FSendQueueEntry(const TSharedPtr< TArray64< uint8 > > &InPayload)
Definition ChunkedDataWriter.h:54
void AddRef() const
Definition ChunkedDataWriter.h:59
TSharedPtr< TArray64< uint8 > > Payload
Definition ChunkedDataWriter.h:69
int32 RefCount
Definition ChunkedDataWriter.h:71
TUniquePtr< FReferencesForExport > References
Definition ChunkedDataWriter.h:70
FSendQueueEntry()
Definition ChunkedDataWriter.h:45
void Release() const
Definition ChunkedDataWriter.h:64
FSendQueueEntry(FSendQueueEntry &&Other)
Definition ChunkedDataWriter.h:46
Definition NetExportContext.h:31