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

#include <CacheStrategy.h>

+ Inheritance diagram for StorageServer::ICacheStrategy:

Public Member Functions

 ICacheStrategy (TUniquePtr< ICacheJournal > &&InJournal, TUniquePtr< ICacheStorage > &&InStorage, const float FlushInterval)
 
virtual ~ICacheStrategy ()
 
virtual void Invalidate (const FIoChunkId &ChunkId)=0
 
virtual void CacheChunkSize (const FIoChunkId &ChunkId, const int64 RawSize)
 
virtual bool TryGetChunkSize (const FIoChunkId &ChunkId, int64 &OutRawSize)
 
virtual bool ReadChunk (const FIoChunkId &RequestChunkId, const uint64 RequestOffset, const uint64 RequestSize, TOptional< FIoBuffer > OptDestination, FIoBuffer &OutBuffer, EStorageServerContentType &OutContentType)=0
 
virtual void CacheChunk (const FIoChunkId &RequestChunkId, const uint64 RequestRawOffset, const uint64 RequestRawSize, const FIoBuffer &ResultBuffer, const EStorageServerContentType ResultContentType, const uint64 ResultModTag)=0
 
virtual void Flush ()
 
virtual void IterateChunkIds (TFunctionRef< void(const FIoChunkId &ChunkId, const FCacheChunkInfo &ChunkInfo)> Callback)
 

Protected Member Functions

bool FlushTick (float DeltaTime)
 

Protected Attributes

TUniquePtr< ICacheJournalJournal
 
TUniquePtr< ICacheStorageStorage
 
FTSTicker::FDelegateHandle FlushTicker
 

Constructor & Destructor Documentation

◆ ICacheStrategy()

StorageServer::ICacheStrategy::ICacheStrategy ( TUniquePtr< ICacheJournal > &&  InJournal,
TUniquePtr< ICacheStorage > &&  InStorage,
const float  FlushInterval 
)
inline

◆ ~ICacheStrategy()

virtual StorageServer::ICacheStrategy::~ICacheStrategy ( )
inlinevirtual

Member Function Documentation

◆ CacheChunk()

virtual void StorageServer::ICacheStrategy::CacheChunk ( const FIoChunkId RequestChunkId,
const uint64  RequestRawOffset,
const uint64  RequestRawSize,
const FIoBuffer ResultBuffer,
const EStorageServerContentType  ResultContentType,
const uint64  ResultModTag 
)
pure virtual

◆ CacheChunkSize()

virtual void StorageServer::ICacheStrategy::CacheChunkSize ( const FIoChunkId ChunkId,
const int64  RawSize 
)
inlinevirtual

◆ Flush()

virtual void StorageServer::ICacheStrategy::Flush ( )
inlinevirtual

◆ FlushTick()

bool StorageServer::ICacheStrategy::FlushTick ( float  DeltaTime)
inlineprotected

◆ Invalidate()

virtual void StorageServer::ICacheStrategy::Invalidate ( const FIoChunkId ChunkId)
pure virtual

◆ IterateChunkIds()

virtual void StorageServer::ICacheStrategy::IterateChunkIds ( TFunctionRef< void(const FIoChunkId &ChunkId, const FCacheChunkInfo &ChunkInfo)>  Callback)
inlinevirtual

◆ ReadChunk()

virtual bool StorageServer::ICacheStrategy::ReadChunk ( const FIoChunkId RequestChunkId,
const uint64  RequestOffset,
const uint64  RequestSize,
TOptional< FIoBuffer OptDestination,
FIoBuffer OutBuffer,
EStorageServerContentType OutContentType 
)
pure virtual

◆ TryGetChunkSize()

virtual bool StorageServer::ICacheStrategy::TryGetChunkSize ( const FIoChunkId ChunkId,
int64 OutRawSize 
)
inlinevirtual

Member Data Documentation

◆ FlushTicker

FTSTicker::FDelegateHandle StorageServer::ICacheStrategy::FlushTicker
protected

◆ Journal

TUniquePtr<ICacheJournal> StorageServer::ICacheStrategy::Journal
protected

◆ Storage

TUniquePtr<ICacheStorage> StorageServer::ICacheStrategy::Storage
protected

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