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

#include <OnDemandIoStore.h>

+ Inheritance diagram for UE::IoStore::FOnDemandIoStore:

Public Member Functions

 UE_NONCOPYABLE (FOnDemandIoStore)
 
 FOnDemandIoStore ()
 
 ~FOnDemandIoStore ()
 
FIoStatus InitializeStreamingBackend (const FOnDemandEndpointConfig &EndpointConfig)
 
FOnDemandChunkInfo GetStreamingChunkInfo (const FIoChunkId &ChunkId)
 
FOnDemandChunkInfo GetInstalledChunkInfo (const FIoChunkId &ChunkId, EIoErrorCode &OutErrorCode)
 
TArray< FIoChunkIdDebugFindStreamingChunkIds (int32 NumToFind)
 
void GetReferencedContent (TArray< FSharedOnDemandContainer > &OutContainers, TArray< TBitArray<> > &OutChunkEntryIndices, bool bPackageStore=false)
 UE_BUILD_SHIPPING.
 
TBitArray GetReferencedContent (const FSharedOnDemandContainer &Container)
 
void GetReferencedContentByHandle (TMap< FOnDemandWeakContentHandle, TArray< FOnDemandContainerChunkEntryReferences > > &OutReferencesByHandle) const
 
void AddReference (const FSharedOnDemandContainer &Container, int32 EntryIndex, FOnDemandContentHandle ContentHandle)
 
virtual FIoStatus Initialize () override
 
virtual FIoStatus InitializePostHotfix () override
 
virtual FOnDemandRegisterHostGroupResult RegisterHostGroup (FOnDemandRegisterHostGroupArgs &&Args) override
 
virtual void Mount (FOnDemandMountArgs &&Args, FOnDemandMountCompleted &&OnCompleted) override
 
virtual FOnDemandInstallRequest Install (FOnDemandInstallArgs &&Args, FOnDemandInstallCompleted &&OnCompleted, FOnDemandInstallProgressed &&OnProgress=nullptr) override
 
virtual void Purge (FOnDemandPurgeArgs &&Args, FOnDemandPurgeCompleted &&OnCompleted) override
 
virtual void Defrag (FOnDemandDefragArgs &&Args, FOnDemandDefragCompleted &&OnCompleted) override
 
virtual void Verify (FOnDemandVerifyCacheCompleted &&OnCompleted) override
 
virtual FIoStatus Unmount (FStringView MountId) override
 
virtual TIoStatusOr< FOnDemandInstallSizeResultGetInstallSize (const FOnDemandGetInstallSizeArgs &Args) const override
 
virtual FIoStatus GetInstallSizesByMountId (const FOnDemandGetInstallSizeArgs &Args, TMap< FString, uint64 > &OutSizesByMountId) const override
 
virtual FOnDemandCacheUsage GetCacheUsage (const FOnDemandGetCacheUsageArgs &Args) const override
 
virtual void DumpMountedContainersToLog () const override
 
virtual bool IsOnDemandStreamingEnabled () const override
 
virtual void SetStreamingOptions (EOnDemandStreamingOptions Options) override
 
virtual void ReportAnalytics (TArray< FAnalyticsEventAttribute > &OutAnalyticsArray) const override
 
virtual TUniquePtr< IAnalyticsRecordingStartAnalyticsRecording () const override
 
virtual void OnImmediateAnalytic (FOnDemandImmediateAnalyticHandler EventHandler) override
 
virtual void CancelInstallRequest (FSharedInternalInstallRequest InstallRequest) override
 
virtual void UpdateInstallRequestPriority (FSharedInternalInstallRequest InstallRequest, int32 NewPriority) override
 
virtual void ReleaseContent (FOnDemandInternalContentHandle &ContentHandle) override
 
TArray< FSharedOnDemandContainerGetContainers (EOnDemandContainerFlags ContainerFlags=EOnDemandContainerFlags::None) const
 
void FlushLastAccess (FOnDemandFlushLastAccessCompleted &&OnCompleted)
 
- Public Member Functions inherited from TSharedFromThis< FOnDemandIoStore, ESPMode::ThreadSafe >
TSharedRef< FOnDemandIoStore, Mode > AsShared ()
 
TSharedRef< FOnDemandIoStore const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FOnDemandIoStore, Mode > AsWeak ()
 
TWeakPtr< FOnDemandIoStore const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 
- Public Member Functions inherited from UE::IoStore::IOnDemandIoStore
virtual ~IOnDemandIoStore ()=default
 

Friends

class FOnDemandContentInstaller
 

Additional Inherited Members

- Protected Member Functions inherited from TSharedFromThis< FOnDemandIoStore, ESPMode::ThreadSafe >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Static Protected Member Functions inherited from TSharedFromThis< FOnDemandIoStore, ESPMode::ThreadSafe >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Constructor & Destructor Documentation

◆ FOnDemandIoStore()

UE::IoStore::FOnDemandIoStore::FOnDemandIoStore ( )

◆ ~FOnDemandIoStore()

UE::IoStore::FOnDemandIoStore::~FOnDemandIoStore ( )

Member Function Documentation

◆ AddReference()

void UE::IoStore::FOnDemandIoStore::AddReference ( const FSharedOnDemandContainer Container,
int32  EntryIndex,
FOnDemandContentHandle  ContentHandle 
)

◆ CancelInstallRequest()

void UE::IoStore::FOnDemandIoStore::CancelInstallRequest ( FSharedInternalInstallRequest  InstallRequest)
overridevirtual

Cancel the install request.

Implements UE::IoStore::IOnDemandIoStore.

◆ DebugFindStreamingChunkIds()

TArray< FIoChunkId > UE::IoStore::FOnDemandIoStore::DebugFindStreamingChunkIds ( int32  NumToFind)

Used to access a number of FIoChunkId that exist in the system when running tests and is not intended for production use

◆ Defrag()

void UE::IoStore::FOnDemandIoStore::Defrag ( FOnDemandDefragArgs &&  Args,
FOnDemandDefragCompleted &&  OnCompleted 
)
overridevirtual

Defrag the cache.

Parameters
ArgsThe defrag arguments.
OnCompleteCompletion callback.

Implements UE::IoStore::IOnDemandIoStore.

◆ DumpMountedContainersToLog()

void UE::IoStore::FOnDemandIoStore::DumpMountedContainersToLog ( ) const
overridevirtual

Dump information about mounted containers to the log

Implements UE::IoStore::IOnDemandIoStore.

◆ FlushLastAccess()

void UE::IoStore::FOnDemandIoStore::FlushLastAccess ( FOnDemandFlushLastAccessCompleted &&  OnCompleted)

◆ GetCacheUsage()

FOnDemandCacheUsage UE::IoStore::FOnDemandIoStore::GetCacheUsage ( const FOnDemandGetCacheUsageArgs Args) const
overridevirtual

Returns the total cache size in bytes.

Implements UE::IoStore::IOnDemandIoStore.

◆ GetContainers()

TArray< FSharedOnDemandContainer > UE::IoStore::FOnDemandIoStore::GetContainers ( EOnDemandContainerFlags  ContainerFlags = EOnDemandContainerFlags::None) const

◆ GetInstalledChunkInfo()

FOnDemandChunkInfo UE::IoStore::FOnDemandIoStore::GetInstalledChunkInfo ( const FIoChunkId ChunkId,
EIoErrorCode OutErrorCode 
)

◆ GetInstallSize()

TIoStatusOr< FOnDemandInstallSizeResult > UE::IoStore::FOnDemandIoStore::GetInstallSize ( const FOnDemandGetInstallSizeArgs Args) const
overridevirtual

Get the total space in bytes needed to install the specified content.

Parameters
ArgsArguments for computing required install size.

Implements UE::IoStore::IOnDemandIoStore.

◆ GetInstallSizesByMountId()

FIoStatus UE::IoStore::FOnDemandIoStore::GetInstallSizesByMountId ( const FOnDemandGetInstallSizeArgs Args,
TMap< FString, uint64 > &  OutSizesByMountId 
) const
overridevirtual

Get the total space in bytes needed to install the specified content.

Parameters
ArgsArguments for computing required install size.
Returns
The total size by mount ID.

Implements UE::IoStore::IOnDemandIoStore.

◆ GetReferencedContent() [1/2]

TBitArray UE::IoStore::FOnDemandIoStore::GetReferencedContent ( const FSharedOnDemandContainer Container)

◆ GetReferencedContent() [2/2]

void UE::IoStore::FOnDemandIoStore::GetReferencedContent ( TArray< FSharedOnDemandContainer > &  OutContainers,
TArray< TBitArray<> > &  OutChunkEntryIndices,
bool  bPackageStore = false 
)

UE_BUILD_SHIPPING.

◆ GetReferencedContentByHandle()

void UE::IoStore::FOnDemandIoStore::GetReferencedContentByHandle ( TMap< FOnDemandWeakContentHandle, TArray< FOnDemandContainerChunkEntryReferences > > &  OutReferencesByHandle) const

◆ GetStreamingChunkInfo()

FOnDemandChunkInfo UE::IoStore::FOnDemandIoStore::GetStreamingChunkInfo ( const FIoChunkId ChunkId)

◆ Initialize()

FIoStatus UE::IoStore::FOnDemandIoStore::Initialize ( )
overridevirtual

Initialize the I/O store. Called after the I/O store factory module feature has been registered.

Implements UE::IoStore::IOnDemandIoStore.

◆ InitializePostHotfix()

FIoStatus UE::IoStore::FOnDemandIoStore::InitializePostHotfix ( )
overridevirtual

Initialize the I/O store. Called after the module feature has been registered.

Implements UE::IoStore::IOnDemandIoStore.

◆ InitializeStreamingBackend()

FIoStatus UE::IoStore::FOnDemandIoStore::InitializeStreamingBackend ( const FOnDemandEndpointConfig EndpointConfig)

◆ Install()

FOnDemandInstallRequest UE::IoStore::FOnDemandIoStore::Install ( FOnDemandInstallArgs &&  Args,
FOnDemandInstallCompleted &&  OnCompleted,
FOnDemandInstallProgressed &&  OnProgress = nullptr 
)
overridevirtual

Install content.

Parameters
ArgsThe install arguments.
OnCompletedCompletion callback.
OnProgressOptional progress callback.
CancellationTokenOptional cancellation token.

Implements UE::IoStore::IOnDemandIoStore.

◆ IsOnDemandStreamingEnabled()

bool UE::IoStore::FOnDemandIoStore::IsOnDemandStreamingEnabled ( ) const
overridevirtual

Return if the OnDemand streaming system is enabled.

Implements UE::IoStore::IOnDemandIoStore.

◆ Mount()

void UE::IoStore::FOnDemandIoStore::Mount ( FOnDemandMountArgs &&  Args,
FOnDemandMountCompleted &&  OnCompleted 
)
overridevirtual

Mount an on-demand container.

Parameters
ArgsMount arguments.
OnCompletedCompletion callback.

Implements UE::IoStore::IOnDemandIoStore.

◆ OnImmediateAnalytic()

void UE::IoStore::FOnDemandIoStore::OnImmediateAnalytic ( FOnDemandImmediateAnalyticHandler  EventHandler)
overridevirtual

Report immediate analytics events that are not recorded over a timespan. Useful for analytics that are better reported as single events.

Implements UE::IoStore::IOnDemandIoStore.

◆ Purge()

void UE::IoStore::FOnDemandIoStore::Purge ( FOnDemandPurgeArgs &&  Args,
FOnDemandPurgeCompleted &&  OnCompleted 
)
overridevirtual

Purge the cache.

Parameters
ArgsThe purge arguments.
OnCompleteCompletion callback.

Implements UE::IoStore::IOnDemandIoStore.

◆ RegisterHostGroup()

FOnDemandRegisterHostGroupResult UE::IoStore::FOnDemandIoStore::RegisterHostGroup ( FOnDemandRegisterHostGroupArgs &&  Args)
overridevirtual

Register a new host group.

Parameters
ArgsRequest arguments.
Returns
Error information about the request.

Implements UE::IoStore::IOnDemandIoStore.

◆ ReleaseContent()

void UE::IoStore::FOnDemandIoStore::ReleaseContent ( FOnDemandInternalContentHandle ContentHandle)
overridevirtual

Release all content referenced by the content handle.

Implements UE::IoStore::IOnDemandIoStore.

◆ ReportAnalytics()

void UE::IoStore::FOnDemandIoStore::ReportAnalytics ( TArray< FAnalyticsEventAttribute > &  OutAnalyticsArray) const
overridevirtual

Reports the statistics for the current OnDemandBackend. It will record any events that have occurred from the last time that this was called. This is a legacy method, prefer using StartAnalyticsRecording instead.

Implements UE::IoStore::IOnDemandIoStore.

◆ SetStreamingOptions()

void UE::IoStore::FOnDemandIoStore::SetStreamingOptions ( EOnDemandStreamingOptions  Options)
overridevirtual

Set streaming options.

Implements UE::IoStore::IOnDemandIoStore.

◆ StartAnalyticsRecording()

TUniquePtr< IAnalyticsRecording > UE::IoStore::FOnDemandIoStore::StartAnalyticsRecording ( ) const
overridevirtual

Create a new analytics interface for the current OnDemandBackend, can be used to record statistics for a set period of time. This can return a nullptr if the analytics system is not enabled.

Implements UE::IoStore::IOnDemandIoStore.

◆ UE_NONCOPYABLE()

UE::IoStore::FOnDemandIoStore::UE_NONCOPYABLE ( FOnDemandIoStore  )

◆ Unmount()

FIoStatus UE::IoStore::FOnDemandIoStore::Unmount ( FStringView  MountId)
overridevirtual

Unmount all container(s) associated with the specified mount ID.

Parameters
MountIdThe Mount ID passed to the mount call.

Implements UE::IoStore::IOnDemandIoStore.

◆ UpdateInstallRequestPriority()

void UE::IoStore::FOnDemandIoStore::UpdateInstallRequestPriority ( FSharedInternalInstallRequest  InstallRequest,
int32  NewPriority 
)
overridevirtual

Update the priority for the install request.

Implements UE::IoStore::IOnDemandIoStore.

◆ Verify()

void UE::IoStore::FOnDemandIoStore::Verify ( FOnDemandVerifyCacheCompleted &&  OnCompleted)
overridevirtual

Verify the install cache.

Parameters
OnCompleteCompletion callback.

Implements UE::IoStore::IOnDemandIoStore.

Friends And Related Symbol Documentation

◆ FOnDemandContentInstaller


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