UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FCachedAsyncBlock Struct Reference

Public Member Functions

 FCachedAsyncBlock ()
 

Public Attributes

class FPakReadRequestRawRequest
 
uint8Raw
 
uint8Processed
 
FGraphEventRef CPUWorkGraphEvent
 
int32 RawSize
 
int32 DecompressionRawSize
 
int32 ProcessedSize
 
int32 RefCount
 
int32 BlockIndex
 
bool bInFlight
 
bool bCPUWorkIsComplete
 
bool bCancelledBlock
 

Constructor & Destructor Documentation

◆ FCachedAsyncBlock()

FCachedAsyncBlock::FCachedAsyncBlock ( )
inline

Member Data Documentation

◆ bCancelledBlock

bool FCachedAsyncBlock::bCancelledBlock

True if and only if all requests touching the block canceled before the block finished processing. The block is removed from Blocks, present in OutstandingCancelMapBlock, and still referenced as the Block pointer on the async thread. Accessed only within FPakAsyncReadFileHandle->CriticalSection.

◆ bCPUWorkIsComplete

bool FCachedAsyncBlock::bCPUWorkIsComplete

The block is in flight and has finished loaded and processing by async threads. Is true only when bInFlight is true. Starts false, and is set to true when and only when DoProcessing finishes with it. Cleared when block is no longer referenced. Accessed only within FPakAsyncReadFileHandle->CriticalSection.

◆ bInFlight

bool FCachedAsyncBlock::bInFlight

The block has been requested, and is still referenced, either from still-alive requests or from the async load and processing of the block. Accessed only within FPakAsyncReadFileHandle->CriticalSection. Modified when requests start, cancel/destroy, and when processing finishes.

◆ BlockIndex

int32 FCachedAsyncBlock::BlockIndex

◆ CPUWorkGraphEvent

FGraphEventRef FCachedAsyncBlock::CPUWorkGraphEvent

◆ DecompressionRawSize

int32 FCachedAsyncBlock::DecompressionRawSize

◆ Processed

uint8* FCachedAsyncBlock::Processed

decompressed, deencrypted and signature checked

◆ ProcessedSize

int32 FCachedAsyncBlock::ProcessedSize

◆ Raw

uint8* FCachedAsyncBlock::Raw

compressed, encrypted and/or signature not checked Set to null in FPakAsyncReadFileHandle::StartBlock. RawReadRequest and DoProcessing can assign and modify it outside of FPakAsyncReadFileHandle->CriticalSection. Can not be read/written by any other thread until RawRequest is set to null and bCPUWorkIsComplete is set to false.

◆ RawRequest

class FPakReadRequest* FCachedAsyncBlock::RawRequest

Assigned in FPakAsyncReadFileHandle::StartBlock to store the handle for the raw read request. Readable only under FPakAsyncReadFileHandle->CriticalSection, or from RawReadCallback. Can not be written under CriticalSection until after RawRequest->WaitCompletion. Set to null under critical section from DoProcessing or from cancelation.

◆ RawSize

int32 FCachedAsyncBlock::RawSize

◆ RefCount

int32 FCachedAsyncBlock::RefCount

How many requests touch the block that are still alive and uncanceled. Accessed only within FPakAsyncReadFileHandle->CriticalSection. When the reference count goes to 0, the block is removed from Blocks, but async threads might still have a pointer to it. Block is deleted when refcount is 0 and async thread has finished with it (bCPUWorkIsComplete =true).


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