7#include "Containers/Array.h"
9#include "Containers/Map.h"
68template <
typename OptionalType>
struct TOptional;
84 const FString&
GetPath()
const {
return Path; }
93UE_DEPRECATED(5.5,
"FIoChunkHash is deprecated. Use FIoHash instead.")
100 for (
int i = 0; i <
sizeof Hash; ++i)
120 return !(*
this == Rhs);
170 : RequestedOffset(InOffset)
175 : RequestedOffset(InOffset)
181 : RequestedOffset(InOffset)
192 RequestedSize =
Size;
207 return RequestedOffset;
212 return RequestedSize;
226 uint64 RequestedOffset = 0;
228 void* TargetVa =
nullptr;
399 static constexpr uint32 RootHandle = 0;
406 return Handle != InvalidHandle;
411 return Handle <
Other.Handle;
416 return Handle ==
Other.Handle;
448 uint32 Handle = InvalidHandle;
529 UE_DEPRECATED(5.5,
"Hash of type FIoChunkHash is deprecated. Use ChunkHash of type FIoHash instead.")
605 CORE_API FString GetContainerName()
const;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
void BytesToHex(const uint8 *In, int32 Count, FString &Out)
Definition BytesToHex.cpp:97
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_NONCOPYABLE(TypeName)
Definition CoreMiscDefines.h:457
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
void * FRSAKeyHandle
Definition IEngineCrypto.h:9
EIoChunkType
Definition IoChunkId.h:28
@ IoDispatcherPriority_Max
Definition IoDispatcherPriority.h:14
@ IoDispatcherPriority_Low
Definition IoDispatcherPriority.h:11
@ IoDispatcherPriority_Min
Definition IoDispatcherPriority.h:10
@ IoDispatcherPriority_High
Definition IoDispatcherPriority.h:13
@ IoDispatcherPriority_Medium
Definition IoDispatcherPriority.h:12
int32 ConvertToIoDispatcherPriority(EAsyncIOPriorityAndFlags AIOP)
Definition IoDispatcher.h:265
EIoReadOptionsFlags
Definition IoDispatcher.h:155
EIoContainerFlags
Definition IoDispatcher.h:480
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
const bool
Definition NetworkReplayStreaming.h:178
decltype(auto) Visit(Func &&Callable, Variants &&... Args)
Definition TVariant.h:271
#define UE_ARRAY_COUNT(array)
Definition UnrealTemplate.h:212
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition Archive.h:1208
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
Definition BulkData.h:470
Definition IoDispatcherPrivate.h:10
Definition IoDispatcher.h:285
CORE_API FIoBatch()
Definition IoDispatcher.cpp:1085
CORE_API ~FIoBatch()
Definition IoDispatcher.cpp:1099
CORE_API void IssueAndDispatchSubsequents(FGraphEventRef Event)
Definition IoDispatcher.cpp:1187
CORE_API void IssueWithCallback(TFunction< void()> &&Callback)
Definition IoDispatcher.cpp:1175
CORE_API void Issue()
Definition IoDispatcher.cpp:1169
CORE_API void IssueAndTriggerEvent(FEvent *Event)
Definition IoDispatcher.cpp:1181
CORE_API FIoRequest ReadWithCallback(const FIoChunkId &ChunkId, const FIoReadOptions &Options, int32 Priority, FIoReadCallback &&Callback)
Definition IoDispatcher.cpp:1161
CORE_API FIoBatch & operator=(FIoBatch &&Other)
Definition IoDispatcher.cpp:1111
Definition IoDispatcher.h:95
static FIoChunkHash HashBuffer(const void *Data, uint64 DataSize)
Definition IoDispatcher.h:143
static FIoChunkHash CreateFromIoHash(const FIoHash &IoHash)
Definition IoDispatcher.h:135
FIoHash ToIoHash() const
Definition IoDispatcher.h:128
friend uint32 GetTypeHash(const FIoChunkHash &InChunkHash)
Definition IoDispatcher.h:97
FString ToString() const
Definition IoDispatcher.h:123
friend FArchive & operator<<(FArchive &Ar, FIoChunkHash &ChunkHash)
Definition IoDispatcher.h:107
Definition IoChunkId.h:64
Definition IoContainerId.h:18
Definition IoDispatcher.h:397
bool operator==(FIoDirectoryIndexHandle Other) const
Definition IoDispatcher.h:414
static FIoDirectoryIndexHandle Invalid()
Definition IoDispatcher.h:439
bool IsValid() const
Definition IoDispatcher.h:404
uint32 ToIndex() const
Definition IoDispatcher.h:424
static FIoDirectoryIndexHandle FromIndex(uint32 Index)
Definition IoDispatcher.h:429
static FIoDirectoryIndexHandle RootDirectory()
Definition IoDispatcher.h:434
FIoDirectoryIndexHandle()=default
friend uint32 GetTypeHash(FIoDirectoryIndexHandle InHandle)
Definition IoDispatcher.h:419
bool operator<(FIoDirectoryIndexHandle Other) const
Definition IoDispatcher.h:409
Definition IoDirectoryIndex.cpp:320
Definition IoDispatcher.h:454
CORE_API ~FIoDirectoryIndexReader()
Definition IoDirectoryIndex.cpp:469
CORE_API FStringView GetDirectoryName(FIoDirectoryIndexHandle Directory) const
Definition IoDirectoryIndex.cpp:504
CORE_API FIoDirectoryIndexHandle GetNextFile(FIoDirectoryIndexHandle File) const
Definition IoDirectoryIndex.cpp:499
CORE_API FIoDirectoryIndexHandle GetFile(FIoDirectoryIndexHandle Directory) const
Definition IoDirectoryIndex.cpp:494
CORE_API FIoDirectoryIndexHandle GetNextDirectory(FIoDirectoryIndexHandle Directory) const
Definition IoDirectoryIndex.cpp:489
CORE_API uint32 GetFileData(FIoDirectoryIndexHandle File) const
Definition IoDirectoryIndex.cpp:514
CORE_API FIoDirectoryIndexHandle GetChildDirectory(FIoDirectoryIndexHandle Directory) const
Definition IoDirectoryIndex.cpp:484
CORE_API const FString & GetMountPoint() const
Definition IoDirectoryIndex.cpp:479
CORE_API FIoDirectoryIndexReader()
Definition IoDirectoryIndex.cpp:464
CORE_API FStringView GetFileName(FIoDirectoryIndexHandle File) const
Definition IoDirectoryIndex.cpp:509
CORE_API bool IterateDirectoryIndex(FIoDirectoryIndexHandle Directory, FStringView Path, FDirectoryIndexVisitorFunction Visit) const
Definition IoDirectoryIndex.cpp:519
Definition IoDispatcher.cpp:348
Definition IoDispatcher.h:350
CORE_API TIoStatusOr< uint64 > GetSizeForChunk(const FIoChunkId &ChunkId) const
Definition IoDispatcher.cpp:1019
static CORE_API FIoStatus Initialize()
Definition IoDispatcher.cpp:1049
static CORE_API bool IsInitialized()
Definition IoDispatcher.cpp:1043
CORE_API FIoDispatcher()
Definition IoDispatcher.cpp:977
friend class FIoQueue
Definition IoDispatcher.h:390
FIoDispatcher & operator=(const FIoDispatcher &)=delete
CORE_API TIoStatusOr< FIoMappedRegion > OpenMapped(const FIoChunkId &ChunkId, const FIoReadOptions &Options)
Definition IoDispatcher.cpp:1000
CORE_API int64 GetTotalLoaded() const
Definition IoDispatcher.cpp:1031
CORE_API bool DoesChunkExist(const FIoChunkId &ChunkId) const
Definition IoDispatcher.cpp:1007
FIoDispatcher(const FIoDispatcher &)=default
static CORE_API void InitializePostSettings()
Definition IoDispatcher.cpp:1058
DECLARE_EVENT_OneParam(FIoDispatcher, FIoContainerUnmountedEvent, const FIoDispatcherMountedContainer &)
static CORE_API FIoDispatcher & Get()
Definition IoDispatcher.cpp:1072
CORE_API FIoSignatureErrorDelegate & OnSignatureError()
Definition IoDispatcher.cpp:1037
CORE_API ~FIoDispatcher()
Definition IoDispatcher.cpp:982
DECLARE_EVENT_OneParam(FIoDispatcher, FIoContainerMountedEvent, const FIoDispatcherMountedContainer &)
CORE_API FIoBatch NewBatch()
Definition IoDispatcher.cpp:994
static CORE_API void Shutdown()
Definition IoDispatcher.cpp:1066
Definition IoDispatcher.h:165
EIoReadOptionsFlags GetFlags() const
Definition IoDispatcher.h:220
uint64 GetOffset() const
Definition IoDispatcher.h:205
void SetRange(uint64 Offset, uint64 Size)
Definition IoDispatcher.h:189
~FIoReadOptions()=default
void SetFlags(EIoReadOptionsFlags InValue)
Definition IoDispatcher.h:200
void SetTargetVa(void *InTargetVa)
Definition IoDispatcher.h:195
void * GetTargetVa() const
Definition IoDispatcher.h:215
FIoReadOptions(uint64 InOffset, uint64 InSize, void *InTargetVa, EIoReadOptionsFlags InFlags)
Definition IoDispatcher.h:180
FIoReadOptions(uint64 InOffset, uint64 InSize, void *InTargetVa)
Definition IoDispatcher.h:174
uint64 GetSize() const
Definition IoDispatcher.h:210
FIoReadOptions(uint64 InOffset, uint64 InSize)
Definition IoDispatcher.h:169
Definition IoDispatcherBackend.h:23
Definition IoDispatcher.cpp:191
Definition IoDispatcher.h:237
CORE_API ~FIoRequest()
Definition IoDispatcher.cpp:1262
CORE_API const FIoBuffer & GetResultOrDie() const
Definition IoDispatcher.cpp:1304
CORE_API FIoRequest & operator=(const FIoRequest &Other)
Definition IoDispatcher.cpp:1237
CORE_API const FIoBuffer * GetResult() const
Definition IoDispatcher.cpp:1284
CORE_API void Cancel()
Definition IoDispatcher.cpp:1315
CORE_API void Release()
Definition IoDispatcher.cpp:1337
CORE_API FIoStatus Status() const
Definition IoDispatcher.cpp:1271
CORE_API void UpdatePriority(int32 NewPriority)
Definition IoDispatcher.cpp:1326
Definition IoDispatcher.h:77
const FString & GetPath() const
Definition IoDispatcher.h:84
CORE_API void InitializeFileEnvironment(FStringView InPath, int32 InOrder=0)
CORE_API FIoStoreEnvironment()
CORE_API ~FIoStoreEnvironment()
int32 GetOrder() const
Definition IoDispatcher.h:85
Definition IoStore.cpp:316
Definition IoDispatcher.h:594
Definition NameTypes.h:617
Definition PackageId.h:19
Definition SecureHash.h:226
Definition MappedFileHandle.h:115
Definition MappedFileHandle.h:17
Definition AssetRegistryState.h:50
Definition IoStatus.h:101
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
Definition StringBuilder.h:79
Definition ExpressionParserTypes.h:21
U16 Index
Definition radfft.cpp:71
Definition FileRegions.h:31
Definition IoDispatcher.h:491
FIoContainerId ContainerId
Definition IoDispatcher.h:492
FRSAKeyHandle SigningKey
Definition IoDispatcher.h:496
bool IsIndexed() const
Definition IoDispatcher.h:514
FGuid EncryptionKeyGuid
Definition IoDispatcher.h:494
bool IsOnDemand() const
Definition IoDispatcher.h:519
bool IsCompressed() const
Definition IoDispatcher.h:499
bool bGenerateDiffPatch
Definition IoDispatcher.h:497
EIoContainerFlags ContainerFlags
Definition IoDispatcher.h:493
FAES::FAESKey EncryptionKey
Definition IoDispatcher.h:495
bool IsEncrypted() const
Definition IoDispatcher.h:504
bool IsSigned() const
Definition IoDispatcher.h:509
Definition IoDispatcher.h:322
FIoStoreEnvironment Environment
Definition IoDispatcher.h:323
FIoContainerId ContainerId
Definition IoDispatcher.h:324
static FIoHash HashBuffer(FMemoryView View)
Definition IoHash.h:156
Definition IoDispatcher.h:316
IMappedFileHandle * MappedFileHandle
Definition IoDispatcher.h:317
IMappedFileRegion * MappedFileRegion
Definition IoDispatcher.h:318
Definition IoOffsetLength.h:12
Definition IoDispatcher.h:338
FCriticalSection CriticalSection
Definition IoDispatcher.h:339
FIoSignatureErrorDelegate SignatureErrorDelegate
Definition IoDispatcher.h:340
Definition IoDispatcher.h:328
int32 BlockIndex
Definition IoDispatcher.h:330
FString ContainerName
Definition IoDispatcher.h:329
FSHAHash ExpectedHash
Definition IoDispatcher.h:331
FSHAHash ActualHash
Definition IoDispatcher.h:332
Definition IoDispatcher.h:564
uint32 CompressedSize
Definition IoDispatcher.h:568
FName CompressionMethod
Definition IoDispatcher.h:566
uint32 UncompressedSize
Definition IoDispatcher.h:570
uint64 OffsetInBuffer
Definition IoDispatcher.h:574
uint32 AlignedSize
Definition IoDispatcher.h:572
Definition IoDispatcher.h:578
TArray< FIoStoreCompressedBlockInfo > Blocks
Definition IoDispatcher.h:583
FIoBuffer IoBuffer
Definition IoDispatcher.h:580
Definition IoDispatcher.h:526
bool bForceUncompressed
Definition IoDispatcher.h:542
bool bHasValidFileName
Definition IoDispatcher.h:541
uint64 Offset
Definition IoDispatcher.h:534
int32 PartitionIndex
Definition IoDispatcher.h:539
uint32 NumCompressedBlocks
Definition IoDispatcher.h:538
bool bIsMemoryMapped
Definition IoDispatcher.h:543
bool bIsCompressed
Definition IoDispatcher.h:544
uint64 OffsetOnDisk
Definition IoDispatcher.h:535
PRAGMA_DISABLE_DEPRECATION_WARNINGS FIoChunkHash Hash
Definition IoDispatcher.h:531
EIoChunkType ChunkType
Definition IoDispatcher.h:540
PRAGMA_ENABLE_DEPRECATION_WARNINGS FString FileName
Definition IoDispatcher.h:533
FIoHash ChunkHash
Definition IoDispatcher.h:528
FIoChunkId Id
Definition IoDispatcher.h:527
uint64 Size
Definition IoDispatcher.h:536
uint64 CompressedSize
Definition IoDispatcher.h:537
Definition IoDispatcher.h:556
uint8 CompressionMethodIndex
Definition IoDispatcher.h:560
uint64 Offset
Definition IoDispatcher.h:557
uint32 CompressedSize
Definition IoDispatcher.h:558
uint32 UncompressedSize
Definition IoDispatcher.h:559
static UE_FORCEINLINE_HINT int32 Memcmp(const void *Buf1, const void *Buf2, SIZE_T Count)
Definition UnrealMemory.h:114
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119
Definition IoDispatcherBackend.h:186
Definition Optional.h:131