UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Net::Private::FChunkedDataWriter Class Reference

#include <ChunkedDataWriter.h>

Classes

struct  FDataChunk
 
struct  FReferencesForExport
 
struct  FSendQueueEntry
 

Public Types

using EWriteResult = UDataStream::EWriteResult
 
using FBeginWriteParameters = UDataStream::FBeginWriteParameters
 
using FInitParameters = UDataStream::FInitParameters
 

Public Member Functions

 FChunkedDataWriter (const FInitParameters &InParams)
 
uint32 SequenceToIndex (uint32 Seq) const
 
bool IsIndexAcked (uint32 Index) const
 
void SetIndexIsAcked (uint32 Index)
 
void SetSequenceIsAcked (uint32 Seq)
 
void ClearIndexIsAcked (uint32 Index)
 
bool IsIndexSent (uint32 Index) const
 
bool IsSequenceSent (uint32 Seq) const
 
void SetIndexIsSent (uint32 Index)
 
void SetSequenceIsSent (uint32 Seq)
 
void ClearIndexIsSent (uint32 Index)
 
void ClearSequenceIsSent (uint32 Seq)
 
bool SplitPayload (FSendQueueEntry &SrcEntry, TConstArrayView< uint8 > Payload, bool bIsExportPayload=false)
 
FReferencesForExportCreateExportPayload ()
 
void ResetExports ()
 
bool EnqueuePayload (const TSharedPtr< TArray64< uint8 > > &Payload)
 
bool CanSend () const
 
bool UpdateSendQueue ()
 
EWriteResult BeginWrite (const FBeginWriteParameters &Params)
 
EWriteResult WriteData (UE::Net::FNetSerializationContext &Context, FDataStreamRecord const *&OutRecord)
 
bool HasAcknowledgedAllReliableData () const
 
void PopDeliveredChunks ()
 
void ProcessPacketDeliveryStatus (UE::Net::EPacketDeliveryStatus Status, FDataStreamRecord const *Record)
 
void RemoveSendQueueEntry (FSendQueueEntry *SendQueueEntry)
 
uint32 GetQueuedBytes () const
 

Public Attributes

TArray< TUniquePtr< FSendQueueEntry > > SendQueue
 
TRingBuffer< FDataChunkDataChunksPendingSend
 
TRingBuffer< uint16DataChunksPendingAck
 
uint32 Sent [(FChunkedDataStreamParameters::MaxUnackedDataChunkCount+31)/32] = {}
 
uint32 Acked [(FChunkedDataStreamParameters::MaxUnackedDataChunkCount+31)/32] = {}
 
uint16 NextSequenceNumber = 0U
 
FInitParameters InitParams
 
UReplicationSystemReplicationSystem = nullptr
 
FObjectReferenceCacheObjectReferenceCache = nullptr
 
uint32 CurrentBytesInSendQueue = 0U
 
uint32 ExportsBufferMaxSize = 524288U
 
uint32 SendBufferMaxSize = 10485760U
 
UE::Net::FIrisPackageMapExports PackageMapExports
 
UE::Net::FNetTokenExportContext::FNetTokenExports NetTokensPendingExport
 

Friends

class FChunkedDataStreamExportWriteScope
 

Member Typedef Documentation

◆ EWriteResult

◆ FBeginWriteParameters

◆ FInitParameters

Constructor & Destructor Documentation

◆ FChunkedDataWriter()

UE::Net::Private::FChunkedDataWriter::FChunkedDataWriter ( const FInitParameters InParams)

Member Function Documentation

◆ BeginWrite()

UDataStream::EWriteResult UE::Net::Private::FChunkedDataWriter::BeginWrite ( const FBeginWriteParameters Params)

◆ CanSend()

bool UE::Net::Private::FChunkedDataWriter::CanSend ( ) const

◆ ClearIndexIsAcked()

void UE::Net::Private::FChunkedDataWriter::ClearIndexIsAcked ( uint32  Index)
inline

◆ ClearIndexIsSent()

void UE::Net::Private::FChunkedDataWriter::ClearIndexIsSent ( uint32  Index)
inline

◆ ClearSequenceIsSent()

void UE::Net::Private::FChunkedDataWriter::ClearSequenceIsSent ( uint32  Seq)
inline

◆ CreateExportPayload()

FChunkedDataWriter::FReferencesForExport * UE::Net::Private::FChunkedDataWriter::CreateExportPayload ( )

◆ EnqueuePayload()

bool UE::Net::Private::FChunkedDataWriter::EnqueuePayload ( const TSharedPtr< TArray64< uint8 > > &  Payload)

◆ GetQueuedBytes()

uint32 UE::Net::Private::FChunkedDataWriter::GetQueuedBytes ( ) const
inline

◆ HasAcknowledgedAllReliableData()

bool UE::Net::Private::FChunkedDataWriter::HasAcknowledgedAllReliableData ( ) const

◆ IsIndexAcked()

bool UE::Net::Private::FChunkedDataWriter::IsIndexAcked ( uint32  Index) const
inline

◆ IsIndexSent()

bool UE::Net::Private::FChunkedDataWriter::IsIndexSent ( uint32  Index) const
inline

◆ IsSequenceSent()

bool UE::Net::Private::FChunkedDataWriter::IsSequenceSent ( uint32  Seq) const
inline

◆ PopDeliveredChunks()

void UE::Net::Private::FChunkedDataWriter::PopDeliveredChunks ( )

◆ ProcessPacketDeliveryStatus()

void UE::Net::Private::FChunkedDataWriter::ProcessPacketDeliveryStatus ( UE::Net::EPacketDeliveryStatus  Status,
FDataStreamRecord const *  Record 
)

◆ RemoveSendQueueEntry()

void UE::Net::Private::FChunkedDataWriter::RemoveSendQueueEntry ( FSendQueueEntry SendQueueEntry)

◆ ResetExports()

void UE::Net::Private::FChunkedDataWriter::ResetExports ( )

◆ SequenceToIndex()

uint32 UE::Net::Private::FChunkedDataWriter::SequenceToIndex ( uint32  Seq) const
inline

◆ SetIndexIsAcked()

void UE::Net::Private::FChunkedDataWriter::SetIndexIsAcked ( uint32  Index)
inline

◆ SetIndexIsSent()

void UE::Net::Private::FChunkedDataWriter::SetIndexIsSent ( uint32  Index)
inline

◆ SetSequenceIsAcked()

void UE::Net::Private::FChunkedDataWriter::SetSequenceIsAcked ( uint32  Seq)
inline

◆ SetSequenceIsSent()

void UE::Net::Private::FChunkedDataWriter::SetSequenceIsSent ( uint32  Seq)
inline

◆ SplitPayload()

bool UE::Net::Private::FChunkedDataWriter::SplitPayload ( FSendQueueEntry SrcEntry,
TConstArrayView< uint8 Payload,
bool  bIsExportPayload = false 
)

◆ UpdateSendQueue()

bool UE::Net::Private::FChunkedDataWriter::UpdateSendQueue ( )

◆ WriteData()

UDataStream::EWriteResult UE::Net::Private::FChunkedDataWriter::WriteData ( UE::Net::FNetSerializationContext Context,
FDataStreamRecord const *&  OutRecord 
)

Friends And Related Symbol Documentation

◆ FChunkedDataStreamExportWriteScope

Member Data Documentation

◆ Acked

uint32 UE::Net::Private::FChunkedDataWriter::Acked[(FChunkedDataStreamParameters::MaxUnackedDataChunkCount+31)/32] = {}

◆ CurrentBytesInSendQueue

uint32 UE::Net::Private::FChunkedDataWriter::CurrentBytesInSendQueue = 0U

◆ DataChunksPendingAck

TRingBuffer<uint16> UE::Net::Private::FChunkedDataWriter::DataChunksPendingAck

◆ DataChunksPendingSend

TRingBuffer<FDataChunk> UE::Net::Private::FChunkedDataWriter::DataChunksPendingSend

◆ ExportsBufferMaxSize

uint32 UE::Net::Private::FChunkedDataWriter::ExportsBufferMaxSize = 524288U

◆ InitParams

FInitParameters UE::Net::Private::FChunkedDataWriter::InitParams

◆ NetTokensPendingExport

UE::Net::FNetTokenExportContext::FNetTokenExports UE::Net::Private::FChunkedDataWriter::NetTokensPendingExport

◆ NextSequenceNumber

uint16 UE::Net::Private::FChunkedDataWriter::NextSequenceNumber = 0U

◆ ObjectReferenceCache

FObjectReferenceCache* UE::Net::Private::FChunkedDataWriter::ObjectReferenceCache = nullptr

◆ PackageMapExports

UE::Net::FIrisPackageMapExports UE::Net::Private::FChunkedDataWriter::PackageMapExports

◆ ReplicationSystem

UReplicationSystem* UE::Net::Private::FChunkedDataWriter::ReplicationSystem = nullptr

◆ SendBufferMaxSize

uint32 UE::Net::Private::FChunkedDataWriter::SendBufferMaxSize = 10485760U

◆ SendQueue

TArray<TUniquePtr<FSendQueueEntry> > UE::Net::Private::FChunkedDataWriter::SendQueue

◆ Sent

uint32 UE::Net::Private::FChunkedDataWriter::Sent[(FChunkedDataStreamParameters::MaxUnackedDataChunkCount+31)/32] = {}

The documentation for this class was generated from the following files: