10#include "Containers/Array.h"
11#include "Containers/Map.h"
57 uint64 GetTocAllocatedSize()
const;
62 struct FPerfectHashMap
68 FPerfectHashMap PerfectHashMap;
76 bool bHasPerfectHashMap =
false;
118 const FGuid& EncryptionKeyGuid,
132 virtual bool Init()
override;
134 virtual void Stop()
override;
141 void OnNewPendingRequestsAdded();
151 uint64 ReadBufferSize = 0;
161 bool bIsMultithreaded;
163 mutable FRWLock IoStoreReadersLock;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
TSharedRef< FFileIoStore > CreateIoDispatcherFileBackend()
Definition IoDispatcherFileBackend.cpp:2182
Definition IDelegateInstance.h:14
Definition IoDispatcherFileBackendTypes.h:563
Definition IoDispatcherFileBackendTypes.h:542
Definition IoDispatcherFileBackendTypes.h:318
Definition IoDispatcherFileBackend.h:29
TIoStatusOr< FIoContainerHeader > ReadContainerHeader(bool bReadSoftRefs) const
Definition IoDispatcherFileBackend.cpp:850
uint32 GetContainerInstanceId() const
Definition IoDispatcherFileBackend.h:34
TIoStatusOr< uint64 > GetSizeForChunk(const FIoChunkId &ChunkId) const
Definition IoDispatcherFileBackend.cpp:812
bool IsSigned() const
Definition IoDispatcherFileBackend.h:48
const FAES::FAESKey & GetEncryptionKey() const
Definition IoDispatcherFileBackend.h:51
void ReopenAllFileHandles()
Definition IoDispatcherFileBackend.cpp:962
bool DoesChunkExist(const FIoChunkId &ChunkId) const
Definition IoDispatcherFileBackend.cpp:806
void SetEncryptionKey(const FAES::FAESKey &Key)
Definition IoDispatcherFileBackend.h:50
~FFileIoStoreReader()
Definition IoDispatcherFileBackend.cpp:638
bool IsEncrypted() const
Definition IoDispatcherFileBackend.h:47
const FGuid & GetEncryptionKeyGuid() const
Definition IoDispatcherFileBackend.h:49
FIoStatus Close()
Definition IoDispatcherFileBackend.cpp:734
int32 GetOrder() const
Definition IoDispatcherFileBackend.h:46
IMappedFileHandle * GetMappedContainerFileHandle(uint64 TocOffset)
Definition IoDispatcherFileBackend.cpp:832
const FIoContainerId & GetContainerId() const
Definition IoDispatcherFileBackend.h:45
const FFileIoStoreContainerFile * GetContainerFile() const
Definition IoDispatcherFileBackend.h:43
FFileIoStoreContainerFile * GetContainerFile()
Definition IoDispatcherFileBackend.h:42
Definition IoDispatcherFileBackendTypes.h:698
Definition IoDispatcherFileBackendTypes.h:643
Definition IoDispatcherFileBackend.h:83
void RemoveRawBlock(const FFileIoStoreReadRequest *RawBlock, bool bRemoveFromCancel=false)
Definition IoDispatcherFileBackend.cpp:1038
FFileIoStoreReadRequest * FindOrAddRawBlock(FFileIoStoreBlockKey Key, bool &bOutWasAdded)
Definition IoDispatcherFileBackend.cpp:1025
FFileIoStoreCompressedBlock * FindOrAddCompressedBlock(FFileIoStoreBlockKey Key, bool &bOutWasAdded)
Definition IoDispatcherFileBackend.cpp:1012
void ReleaseIoRequestReferences(FFileIoStoreResolvedRequest &ResolvedRequest)
Definition IoDispatcherFileBackend.cpp:1192
void UpdatePriorityForIoRequest(FFileIoStoreResolvedRequest &ResolvedRequest)
Definition IoDispatcherFileBackend.cpp:1171
void RemoveCompressedBlock(const FFileIoStoreCompressedBlock *CompressedBlock, bool bRemoveFromCancel=false)
Definition IoDispatcherFileBackend.cpp:1086
void AddReadRequestsToResolvedRequest(FFileIoStoreCompressedBlock *CompressedBlock, FFileIoStoreResolvedRequest &ResolvedRequest)
Definition IoDispatcherFileBackend.cpp:1050
bool CancelIoRequest(FFileIoStoreResolvedRequest &ResolvedRequest)
Definition IoDispatcherFileBackend.cpp:1098
int64 GetLiveReadRequestsCount() const
Definition IoDispatcherFileBackend.cpp:1219
~FFileIoStoreRequestTracker()
Definition IoDispatcherFileBackend.cpp:1007
Definition IoDispatcherFileBackendTypes.h:893
Definition IoDispatcherFileBackend.h:109
uint32 GetThreadId() const
Definition IoDispatcherFileBackend.cpp:2223
bool DoesChunkExist(const FIoChunkId &ChunkId) const override
Definition IoDispatcherFileBackend.cpp:1507
TIoStatusOr< FIoMappedRegion > OpenMapped(const FIoChunkId &ChunkId, const FIoReadOptions &Options) override
Definition IoDispatcherFileBackend.cpp:1961
FIoRequestImpl * GetCompletedIoRequests() override
Definition IoDispatcherFileBackend.cpp:1735
~FFileIoStore()
Definition IoDispatcherFileBackend.cpp:1232
void UpdatePriorityForIoRequest(FIoRequestImpl *Request) override
Definition IoDispatcherFileBackend.cpp:1497
virtual uint32 Run() override
Definition IoDispatcherFileBackend.cpp:2170
void ResolveIoRequests(FIoRequestList Requests, FIoRequestList &OutUnresolved) override
Definition IoDispatcherFileBackend.cpp:1466
virtual bool Init() override
Definition IoDispatcherFileBackend.cpp:2159
virtual void Stop() override
Definition IoDispatcherFileBackend.cpp:2164
void CancelIoRequest(FIoRequestImpl *Request) override
Definition IoDispatcherFileBackend.cpp:1478
const TCHAR * GetName() const override
Definition IoDispatcherFileBackend.cpp:2010
TIoStatusOr< uint64 > GetSizeForChunk(const FIoChunkId &ChunkId) const
Definition IoDispatcherFileBackend.cpp:1520
virtual void ReopenAllFileHandles() override
Definition IoDispatcherFileBackend.cpp:2015
void Shutdown() override
Definition IoDispatcherFileBackend.cpp:1292
Definition IoChunkId.h:64
Definition IoContainerId.h:18
Definition IoDispatcher.h:165
Definition IoDispatcherBackend.h:23
Definition RunnableThread.h:20
Definition MappedFileHandle.h:115
Definition IoStatus.h:101
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SpscQueue.h:18
Definition UniquePtr.h:107
Definition FileIoDispatcherBackend.h:25
ETocMountOptions
Definition FileIoDispatcherBackend.h:16
const int32 Order[8][8]
Definition VorbisAudioInfo.cpp:47
Definition IoDispatcherFileBackendTypes.h:77
Definition IoDispatcherFileBackendTypes.h:71
Definition IoDispatcherFileBackendTypes.h:109
Definition IoDispatcherFileBackend.h:22
FFileIoStoreCompressionContext * Next
Definition IoDispatcherFileBackend.h:23
uint64 UncompressedBufferSize
Definition IoDispatcherFileBackend.h:24
uint8 * UncompressedBuffer
Definition IoDispatcherFileBackend.h:25
Definition IoDispatcherFileBackendTypes.h:42
EIoContainerFlags ContainerFlags
Definition IoDispatcherFileBackendTypes.h:57
FAES::FAESKey EncryptionKey
Definition IoDispatcherFileBackendTypes.h:56
FGuid EncryptionKeyGuid
Definition IoDispatcherFileBackendTypes.h:55
uint32 ContainerInstanceId
Definition IoDispatcherFileBackendTypes.h:60
Definition IoDispatcherFileBackendTypes.h:131
Definition IoDispatcherFileBackendTypes.h:772
Definition IoOffsetLength.h:12