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

Classes

struct  FPerPrioritizerInfo
 

Public Types

enum  EConstants : unsigned { MaxObjectCountPerBatch = 1024U }
 
enum  EBatchProcessStatus : unsigned { ProcessFullBatchesAndContinue , ProcessAllBatchesAndStop , NothingToProcess }
 

Public Member Functions

 FPrioritizerBatchHelper (uint32 PrioritizerCount)
 
void InitForConnection ()
 
EBatchProcessStatus PrepareBatch (FPerConnectionInfo &ConnInfo, const FNetBitArrayView Objects, const uint8 *PrioritizerIndices, const float *InDefaultPriorities)
 

Public Attributes

TArray< FPerPrioritizerInfo, TInlineAllocator< 16 > > PerPrioritizerInfos
 

Member Enumeration Documentation

◆ EBatchProcessStatus

Enumerator
ProcessFullBatchesAndContinue 
ProcessAllBatchesAndStop 
NothingToProcess 

◆ EConstants

Constructor & Destructor Documentation

◆ FPrioritizerBatchHelper()

UE::Net::Private::FReplicationPrioritization::FPrioritizerBatchHelper::FPrioritizerBatchHelper ( uint32  PrioritizerCount)
inlineexplicit

Member Function Documentation

◆ InitForConnection()

void UE::Net::Private::FReplicationPrioritization::FPrioritizerBatchHelper::InitForConnection ( )
inline

◆ PrepareBatch()

EBatchProcessStatus UE::Net::Private::FReplicationPrioritization::FPrioritizerBatchHelper::PrepareBatch ( FPerConnectionInfo &  ConnInfo,
const FNetBitArrayView  Objects,
const uint8 PrioritizerIndices,
const float InDefaultPriorities 
)
inline

Algorithm will get MaxBatchObjectCount dirty objects and sort them into the correct prioritizer. Return on the following conditions:

  • If a prioritizer has reached at least MaxBatchObjectCount
  • If all dirty objects have been sorted.

If we've processed all objects return ProcessAll. If any prioritizer has a full batch then return ProcessFull. This limits the memory footprint to a maximum of two chunks per prioritizer. Else continue.

Is there a full batch for any prioritizer? We expect checking it after the fact to be a lot faster in typical scenarios versus checking after each object addition to a prioritizer.

Member Data Documentation

◆ PerPrioritizerInfos

TArray<FPerPrioritizerInfo, TInlineAllocator<16> > UE::Net::Private::FReplicationPrioritization::FPrioritizerBatchHelper::PerPrioritizerInfos

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