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

#include <NetBlob.h>

+ Inheritance diagram for UE::Net::FNetBlob:

Classes

struct  FQuantizedBlobState
 

Public Member Functions

IRISCORE_API FNetBlob (const FNetBlobCreationInfo &)
 
IRISCORE_API void SetState (const TRefCountPtr< const FReplicationStateDescriptor > &BlobDescriptor, FQuantizedBlobState &&QuantizedBlobState)
 
const FNetBlobCreationInfoGetCreationInfo () const
 
bool IsReliable () const
 
const FReplicationStateDescriptorGetReplicationStateDescriptor () const
 
virtual IRISCORE_API void SerializeWithObject (FNetSerializationContext &Context, FNetRefHandle RefHandle) const
 
virtual IRISCORE_API void DeserializeWithObject (FNetSerializationContext &Context, FNetRefHandle RefHandle)
 
virtual IRISCORE_API void Serialize (FNetSerializationContext &Context) const
 
virtual IRISCORE_API void Deserialize (FNetSerializationContext &Context)
 
IRISCORE_API void CollectObjectReferences (FNetSerializationContext &Context, FNetReferenceCollector &Collector) const
 
void AddRef () const
 
IRISCORE_API void Release () const
 
int32 GetRefCount () const
 
bool HasExports () const
 
TArrayView< const FNetObjectReferenceCallGetNetObjectReferenceExports () const
 
TArrayView< const FNetTokenCallGetNetTokenExports () const
 

Static Public Member Functions

static IRISCORE_API void SerializeCreationInfo (FNetSerializationContext &Context, const FNetBlobCreationInfo &CreationInfo)
 
static IRISCORE_API void DeserializeCreationInfo (FNetSerializationContext &Context, FNetBlobCreationInfo &OutCreationInfo)
 

Protected Member Functions

 FNetBlob (const FNetBlob &)=delete
 
FNetBloboperator= (const FNetBlob &)=delete
 
virtual IRISCORE_API ~FNetBlob ()
 
virtual TArrayView< const FNetObjectReferenceGetNetObjectReferenceExports () const
 
virtual TArrayView< const FNetTokenGetNetTokenExports () const
 
IRISCORE_API void SerializeBlob (FNetSerializationContext &Context) const
 
IRISCORE_API void DeserializeBlob (FNetSerializationContext &Context)
 

Protected Attributes

FNetBlobCreationInfo CreationInfo
 
TRefCountPtr< const FReplicationStateDescriptorBlobDescriptor
 
FQuantizedBlobState QuantizedBlobState
 

Constructor & Destructor Documentation

◆ FNetBlob() [1/2]

UE::Net::FNetBlob::FNetBlob ( const FNetBlobCreationInfo InCreationInfo)

Construct a NetBlob with reference count zero.

◆ FNetBlob() [2/2]

UE::Net::FNetBlob::FNetBlob ( const FNetBlob )
protecteddelete

◆ ~FNetBlob()

UE::Net::FNetBlob::~FNetBlob ( )
protectedvirtual

The destructor will free dynamic state, if present, in the state buffer and remove a reference to the descriptor.

Member Function Documentation

◆ AddRef()

void UE::Net::FNetBlob::AddRef ( ) const
inline

Adds a reference. A blob is created with reference count zero.

◆ CallGetNetObjectReferenceExports()

TArrayView< const FNetObjectReference > UE::Net::FNetBlob::CallGetNetObjectReferenceExports ( ) const
inline

Retrieve the object references that need to be exported.

◆ CallGetNetTokenExports()

TArrayView< const FNetToken > UE::Net::FNetBlob::CallGetNetTokenExports ( ) const
inline

Retrieve NetToken that needs to be exported.

◆ CollectObjectReferences()

void UE::Net::FNetBlob::CollectObjectReferences ( FNetSerializationContext Context,
FNetReferenceCollector Collector 
) const

Collect object references from quantized data

◆ Deserialize()

void UE::Net::FNetBlob::Deserialize ( FNetSerializationContext Context)
virtual

Deserialize a blob that was serialized with Serialize.

◆ DeserializeBlob()

void UE::Net::FNetBlob::DeserializeBlob ( FNetSerializationContext Context)
protected

Deserializes the state if there's a valid descriptor and state buffer.

◆ DeserializeCreationInfo()

void UE::Net::FNetBlob::DeserializeCreationInfo ( FNetSerializationContext Context,
FNetBlobCreationInfo OutCreationInfo 
)
static

Deserializes the necessary parts of the creation info so that the correct blob can be created.

◆ DeserializeWithObject()

void UE::Net::FNetBlob::DeserializeWithObject ( FNetSerializationContext Context,
FNetRefHandle  RefHandle 
)
virtual

Deserialize a blob that was serialized with SerializeWithObject.

◆ GetCreationInfo()

const FNetBlobCreationInfo & UE::Net::FNetBlob::GetCreationInfo ( ) const
inline

Returns the FNetBlobCreationInfo.

◆ GetNetObjectReferenceExports()

TArrayView< const FNetObjectReference > UE::Net::FNetBlob::GetNetObjectReferenceExports ( ) const
protectedvirtual

Override to return the object references that need to be exported.

◆ GetNetTokenExports()

TArrayView< const FNetToken > UE::Net::FNetBlob::GetNetTokenExports ( ) const
protectedvirtual

Override to return NetTokenExports that need to be exported, mostly relevant for pre-serialized blobs.

◆ GetRefCount()

int32 UE::Net::FNetBlob::GetRefCount ( ) const
inline

Returns the reference count. A blob is created with reference count zero.

◆ GetReplicationStateDescriptor()

const FReplicationStateDescriptor * UE::Net::FNetBlob::GetReplicationStateDescriptor ( ) const
inline

Returns the FReplicationStateDescriptor if there is one. It's recommended to use a descriptor instead of overriding the serialization methods.

◆ HasExports()

bool UE::Net::FNetBlob::HasExports ( ) const
inline

◆ IsReliable()

bool UE::Net::FNetBlob::IsReliable ( ) const
inline

◆ operator=()

FNetBlob & UE::Net::FNetBlob::operator= ( const FNetBlob )
protecteddelete

◆ Release()

void UE::Net::FNetBlob::Release ( ) const

Removes a reference. When the reference count reaches zero the blob will be deleted. A blob is created with reference count zero.

◆ Serialize()

void UE::Net::FNetBlob::Serialize ( FNetSerializationContext Context) const
virtual

Serialize the blob.

◆ SerializeBlob()

void UE::Net::FNetBlob::SerializeBlob ( FNetSerializationContext Context) const
protected

Serializes the state if there's a valid descriptor and state buffer.

◆ SerializeCreationInfo()

void UE::Net::FNetBlob::SerializeCreationInfo ( FNetSerializationContext Context,
const FNetBlobCreationInfo CreationInfo 
)
static

Serializes the necessary parts of the creation info so that the blob can be recreated on the receiving side.

◆ SerializeWithObject()

void UE::Net::FNetBlob::SerializeWithObject ( FNetSerializationContext Context,
FNetRefHandle  RefHandle 
) const
virtual

Serialize the blob together with/targeting a specific object knowing the NetHandle has already been serialized.

◆ SetState()

void UE::Net::FNetBlob::SetState ( const TRefCountPtr< const FReplicationStateDescriptor > &  BlobDescriptor,
FQuantizedBlobState &&  QuantizedBlobState 
)

Set the blob state. Use when there's a descriptor to avoid having to override serialization functions.

Member Data Documentation

◆ BlobDescriptor

TRefCountPtr<const FReplicationStateDescriptor> UE::Net::FNetBlob::BlobDescriptor
protected

The state descriptor.

◆ CreationInfo

FNetBlobCreationInfo UE::Net::FNetBlob::CreationInfo
protected

The CreationInfo that was passed to the constructor.

◆ QuantizedBlobState

FQuantizedBlobState UE::Net::FNetBlob::QuantizedBlobState
protected

The state buffer that holds the data described by the descriptor.


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