UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPakReadRequestBase Class Reference
+ Inheritance diagram for FPakReadRequestBase:

Public Member Functions

 FPakReadRequestBase (FName InPakFile, int64 PakFileSize, FAsyncFileCallBack *CompleteCallback, int64 InOffset, int64 InBytesToRead, EAsyncIOPriorityAndFlags InPriorityAndFlags, uint8 *UserSuppliedMemory, bool bInInternalRequest=false, FCachedAsyncBlock *InBlockPtr=nullptr)
 
virtual ~FPakReadRequestBase ()
 
virtual void WaitCompletionImpl (float TimeLimitSeconds) override
 
virtual void CancelImpl () override
 
virtual void ReleaseMemoryOwnershipImpl () override
 
FCachedAsyncBlockGetBlock ()
 
- Public Member Functions inherited from IAsyncReadRequest
 IAsyncReadRequest (FAsyncFileCallBack *InCallback, bool bInSizeRequest, uint8 *UserSuppliedMemory)
 
virtual ~IAsyncReadRequest ()
 
UE_FORCEINLINE_HINT bool PollCompletion ()
 
bool WaitCompletion (float TimeLimitSeconds=0.0f)
 
virtual void EnsureCompletion ()
 
void Cancel ()
 
int64 GetSizeResults ()
 
uint8GetReadResults ()
 
- Public Member Functions inherited from IAsyncReadRequestFixLayout
virtual ~IAsyncReadRequestFixLayout ()=default
 
- Public Member Functions inherited from IPakRequestor
 IPakRequestor ()
 
virtual ~IPakRequestor ()
 
virtual void RequestIsComplete ()
 

Protected Attributes

int64 Offset
 
int64 BytesToRead
 
FEventWaitEvent
 
FCachedAsyncBlockBlockPtr
 
FName PanicPakFile
 
EAsyncIOPriorityAndFlags PriorityAndFlags
 
bool bRequestOutstanding
 
bool bNeedsRemoval
 
bool bInternalRequest
 
- Protected Attributes inherited from IAsyncReadRequest
union { 
 
   PTRINT   Size 
 
   uint8 *   Memory 
 
};  
 
FAsyncFileCallBack Callback
 
const bool bSizeRequest
 
const bool bUserSuppliedMemory
 

Additional Inherited Members

- Protected Member Functions inherited from IAsyncReadRequest
 TSAN_ATOMIC (bool) bDataIsReady
 
 TSAN_ATOMIC (bool) bCompleteAndCallbackCalled
 
 TSAN_ATOMIC (bool) bCompleteSync
 
 TSAN_ATOMIC (bool) bCanceled
 
void SetDataComplete ()
 
void SetAllComplete ()
 
void SetComplete ()
 

Constructor & Destructor Documentation

◆ FPakReadRequestBase()

FPakReadRequestBase::FPakReadRequestBase ( FName  InPakFile,
int64  PakFileSize,
FAsyncFileCallBack CompleteCallback,
int64  InOffset,
int64  InBytesToRead,
EAsyncIOPriorityAndFlags  InPriorityAndFlags,
uint8 UserSuppliedMemory,
bool  bInInternalRequest = false,
FCachedAsyncBlock InBlockPtr = nullptr 
)
inline

◆ ~FPakReadRequestBase()

virtual FPakReadRequestBase::~FPakReadRequestBase ( )
inlinevirtual

Member Function Documentation

◆ CancelImpl()

virtual void FPakReadRequestBase::CancelImpl ( )
inlineoverridevirtual

Cancel the request. This is a non-blocking async call and so does not ensure completion!

Implements IAsyncReadRequest.

◆ GetBlock()

FCachedAsyncBlock & FPakReadRequestBase::GetBlock ( )
inline

◆ ReleaseMemoryOwnershipImpl()

virtual void FPakReadRequestBase::ReleaseMemoryOwnershipImpl ( )
inlineoverridevirtual

Transfer ownership of Memory from the async request to the outside caller (called in response to GetReadResults). It's only relevant to Read requests, in which case the most common use is to update (decrease) the STAT_AsyncFileMemory stat which is typically incremented when async requests allocate Memory. It doesn't play any role in Size requests, so it may be left empty for them.

Implements IAsyncReadRequest.

◆ WaitCompletionImpl()

virtual void FPakReadRequestBase::WaitCompletionImpl ( float  TimeLimitSeconds)
inlineoverridevirtual

Waits for the request to complete, but not longer than the given time limit

Parameters
TimeLimitSecondsZero to wait forever, otherwise the maximum amount of time to wait.
Returns
true if the request is complete

Implements IAsyncReadRequest.

Member Data Documentation

◆ bInternalRequest

bool FPakReadRequestBase::bInternalRequest
protected

◆ BlockPtr

FCachedAsyncBlock* FPakReadRequestBase::BlockPtr
protected

◆ bNeedsRemoval

bool FPakReadRequestBase::bNeedsRemoval
protected

◆ bRequestOutstanding

bool FPakReadRequestBase::bRequestOutstanding
protected

◆ BytesToRead

int64 FPakReadRequestBase::BytesToRead
protected

◆ Offset

int64 FPakReadRequestBase::Offset
protected

◆ PanicPakFile

FName FPakReadRequestBase::PanicPakFile
protected

◆ PriorityAndFlags

EAsyncIOPriorityAndFlags FPakReadRequestBase::PriorityAndFlags
protected

◆ WaitEvent

FEvent* FPakReadRequestBase::WaitEvent
protected

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