UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Experimental::IIndexedCacheStorage Class Referenceabstract

#include <IndexedCacheStorage.h>

+ Inheritance diagram for Experimental::IIndexedCacheStorage:

Public Member Functions

virtual bool SupportsIndexedCacheStorage ()=0
 
virtual uint32 GetNumIndexedCacheStorages ()=0
 
virtual bool CreateCacheStorage (uint64 InRequestNumberOfBytes, int32 CacheStorageIndex)=0
 
virtual bool DestroyCacheStorage (int32 InCacheStorageIndex)=0
 
virtual void EnumerateCacheStorages (TArray< int32 > &OutCacheStorageIndices)=0
 
virtual void GetCacheStorageInfo (int32 InCacheStorageIndex, uint64 &OutCacheStorageDataSize, uint64 &OutCacheStorageJournalSize)=0
 
virtual void GetCacheStorageMountPath (FString &OutPlatformMountPath, const FString &InMountName)=0
 
virtual bool MountCacheStorage (FString &OutPlatformMountPath, int32 InCacheStorageIndex, const FString &InMountName)=0
 
virtual void UnmountCacheStorage (const FString &InMountName)=0
 
virtual uint64 GetPersistentDownloadDirEarlyStartupSize ()=0
 
virtual uint64 GetCacheStorageJournalSize (uint64 CacheDataSize, uint32 CacheIndex)=0
 

Static Public Member Functions

static IIndexedCacheStorageGet ()
 
static IIndexedCacheStorageGetOrCreateIndexedCacheStorage ()
 

Detailed Description

Interface for managing cache storages: some platforms may store user data in different cache storages that may be created / destroyed This allows the title to manage its disk space with a finer granularity. The data put in these caches need to be re-generated/re-obtained if needed.

Member Function Documentation

◆ CreateCacheStorage()

virtual bool Experimental::IIndexedCacheStorage::CreateCacheStorage ( uint64  InRequestNumberOfBytes,
int32  CacheStorageIndex 
)
pure virtual

Requests a new indexed cache entry, capable of holding up to RequestNumberOfBytes.

Parameters
InRequestNumberOfBytesnumber of bytes this entry needs to hold
CacheStorageIndex- the index of the entry to create
Returns
True on success, otherwise false

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ DestroyCacheStorage()

virtual bool Experimental::IIndexedCacheStorage::DestroyCacheStorage ( int32  InCacheStorageIndex)
pure virtual

Destroy an indexed cache entry.

Parameters
InCacheStorageIndex- the index of the entry
Returns
True on success, otherwise false

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ EnumerateCacheStorages()

virtual void Experimental::IIndexedCacheStorage::EnumerateCacheStorages ( TArray< int32 > &  OutCacheStorageIndices)
pure virtual

Enumerate existing cache entries.

Parameters
OutCacheStorageIndices- indices of existing cache storages

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ Get()

IIndexedCacheStorage & Experimental::IIndexedCacheStorage::Get ( )
static

◆ GetCacheStorageInfo()

virtual void Experimental::IIndexedCacheStorage::GetCacheStorageInfo ( int32  InCacheStorageIndex,
uint64 OutCacheStorageDataSize,
uint64 OutCacheStorageJournalSize 
)
pure virtual

Queries cache storage.

Parameters
InCacheStorageIndex- the index of the cache
OutCacheStorageSize- How large the cache storage is

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ GetCacheStorageJournalSize()

virtual uint64 Experimental::IIndexedCacheStorage::GetCacheStorageJournalSize ( uint64  CacheDataSize,
uint32  CacheIndex 
)
pure virtual

◆ GetCacheStorageMountPath()

virtual void Experimental::IIndexedCacheStorage::GetCacheStorageMountPath ( FString &  OutPlatformMountPath,
const FString &  InMountName 
)
pure virtual

Gets the platform mount path for a cached storage based on its generic Name

Parameters
OutPlatformMountPath- the platform specific mount path
InMountName- the generic mount name

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ GetNumIndexedCacheStorages()

virtual uint32 Experimental::IIndexedCacheStorage::GetNumIndexedCacheStorages ( )
pure virtual

Retrieve the number of indexed cache entries available on the platform.

Returns
number of indexed cache entries available on the platform.

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ GetOrCreateIndexedCacheStorage()

IIndexedCacheStorage & Experimental::IIndexedCacheStorage::GetOrCreateIndexedCacheStorage ( )
static

◆ GetPersistentDownloadDirEarlyStartupSize()

virtual uint64 Experimental::IIndexedCacheStorage::GetPersistentDownloadDirEarlyStartupSize ( )
pure virtual

◆ MountCacheStorage()

virtual bool Experimental::IIndexedCacheStorage::MountCacheStorage ( FString &  OutPlatformMountPath,
int32  InCacheStorageIndex,
const FString &  InMountName 
)
pure virtual

Mounts a cache storage so file operations can be done

Parameters
OutPlatformMountPath- the platform specific mount path. Same name as the one returned by GetCacheStorageMountPath
InCacheStorageIndex- the index of the cache
InMountName- the generic mount name

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ SupportsIndexedCacheStorage()

virtual bool Experimental::IIndexedCacheStorage::SupportsIndexedCacheStorage ( )
pure virtual

Check if indexed cache storage is available on the current platform.

Returns
True is available, false otherwise.

Implemented in Experimental::FGenericIndexedCacheStorage.

◆ UnmountCacheStorage()

virtual void Experimental::IIndexedCacheStorage::UnmountCacheStorage ( const FString &  InMountName)
pure virtual

Unmounts a cache storage

Parameters
InMountName- the generic mount name

Implemented in Experimental::FGenericIndexedCacheStorage.


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