UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IIoDispatcherBackend Struct Referenceabstract

#include <IoDispatcherBackend.h>

+ Inheritance diagram for IIoDispatcherBackend:

Public Member Functions

virtual void Initialize (TSharedRef< const FIoDispatcherBackendContext > Context)=0
 
virtual void Shutdown ()
 
virtual void ResolveIoRequests (FIoRequestList Requests, FIoRequestList &OutUnresolved)=0
 
virtual FIoRequestImplGetCompletedIoRequests ()=0
 
virtual void CancelIoRequest (FIoRequestImpl *Request)=0
 
virtual void UpdatePriorityForIoRequest (FIoRequestImpl *Request)=0
 
virtual bool DoesChunkExist (const FIoChunkId &ChunkId) const =0
 
virtual bool DoesChunkExist (const FIoChunkId &ChunkId, const FIoOffsetAndLength &ChunkRange) const
 
virtual TIoStatusOr< uint64GetSizeForChunk (const FIoChunkId &ChunkId) const =0
 
virtual TIoStatusOr< uint64GetSizeForChunk (const FIoChunkId &ChunkId, const FIoOffsetAndLength &ChunkRange, uint64 &OutAvailable) const
 
virtual TIoStatusOr< FIoMappedRegionOpenMapped (const FIoChunkId &ChunkId, const FIoReadOptions &Options)=0
 
virtual const TCHARGetName () const =0
 

Detailed Description

I/O dispatcher backend interface.

The following methods are called from the I/O dispatcher thread:

  • ResolveIoRequests
  • CancelIoRequest
  • UpdatePriorityForIoRequest
  • GetCompletedRequests

All other methods can be called from any thread.

Member Function Documentation

◆ CancelIoRequest()

◆ DoesChunkExist() [1/2]

◆ DoesChunkExist() [2/2]

virtual bool IIoDispatcherBackend::DoesChunkExist ( const FIoChunkId ChunkId,
const FIoOffsetAndLength ChunkRange 
) const
inlinevirtual

Returns whether specified range of the chunk exists.

Reimplemented in UE::IoStore::FHttpIoDispatcherBackend, and UE::IoStore::FOnDemandIoBackend.

◆ GetCompletedIoRequests()

virtual FIoRequestImpl * IIoDispatcherBackend::GetCompletedIoRequests ( )
pure virtual

Returns all completed request(s) to the I/O dispatcher. Triggered by invoking the wake-up callback on the backend context object.

Implemented in UE::FPackageResourceIoBackend, UE::IoStore::FHttpIoDispatcherBackend, UE::IoStore::FOnDemandInstallCache, UE::IoStore::FOnDemandIoBackend, UE::IoStore::FFileIoDispatcherBackend, FFileIoStore, and FStorageServerIoDispatcherBackend.

◆ GetName()

virtual const TCHAR * IIoDispatcherBackend::GetName ( ) const
pure virtual

◆ GetSizeForChunk() [1/2]

◆ GetSizeForChunk() [2/2]

virtual TIoStatusOr< uint64 > IIoDispatcherBackend::GetSizeForChunk ( const FIoChunkId ChunkId,
const FIoOffsetAndLength ChunkRange,
uint64 OutAvailable 
) const
inlinevirtual

Returns the size of the chunk and the size of the requested range.

Reimplemented in UE::IoStore::FOnDemandIoBackend.

◆ Initialize()

virtual void IIoDispatcherBackend::Initialize ( TSharedRef< const FIoDispatcherBackendContext Context)
pure virtual

Called by the I/O dispatcher once initialized.

Parameters
ContextContext object used for signalling the I/O dispatcher.

Implemented in UE::FPackageResourceIoBackend, UE::IoStore::FHttpIoDispatcherBackend, UE::IoStore::FOnDemandIoBackend, UE::IoStore::FFileIoDispatcherBackend, FFileIoStore, and FStorageServerIoDispatcherBackend.

◆ OpenMapped()

◆ ResolveIoRequests()

virtual void IIoDispatcherBackend::ResolveIoRequests ( FIoRequestList  Requests,
FIoRequestList OutUnresolved 
)
pure virtual

Create asynchronous read requests for the list of I/O request(s). The request(s) can span multiple chunks.

Parameters
RequestsRequest(s) to resolve.
OutUnresolvedUnresolved request(s) returned to the I/O dispatcher.

Implemented in UE::FPackageResourceIoBackend, UE::IoStore::FHttpIoDispatcherBackend, UE::IoStore::FOnDemandInstallCache, UE::IoStore::FOnDemandIoBackend, UE::IoStore::FFileIoDispatcherBackend, FFileIoStore, and FStorageServerIoDispatcherBackend.

◆ Shutdown()

virtual void IIoDispatcherBackend::Shutdown ( )
inlinevirtual

◆ UpdatePriorityForIoRequest()


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