7#include "Misc/Optional.h"
15#define UE_IODISPATCHER_STATS_ENABLED (COUNTERSTRACE_ENABLED || CSV_PROFILER_STATS)
76 return Buffer.
IsSet();
96#if UE_IODISPATCHER_STATS_ENABLED
111 RefCount.IncrementExchange();
116 if (RefCount.DecrementExchange() == 1)
127#if UE_IODISPATCHER_STATS_ENABLED
140struct FIoRequestListTraits
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
EIoErrorCode
Definition IoStatus.h:19
uint32 Size
Definition VulkanMemory.cpp:4034
Definition IoDispatcherPrivate.h:10
Definition IoDispatcher.h:285
Definition IoChunkId.h:64
Definition IoDispatcher.cpp:348
Definition IoDispatcher.h:165
Definition IoDispatcher.cpp:304
Definition IoDispatcherBackend.h:23
FIoChunkId ChunkId
Definition IoDispatcherBackend.h:30
FIoRequestImpl * NextRequest
Definition IoDispatcherBackend.h:26
bool IsCancelled() const
Definition IoDispatcherBackend.h:43
FIoRequestImpl(class FIoRequestAllocator &InAllocator)
Definition IoDispatcherBackend.h:36
void SetResult(FIoBuffer InBuffer)
Definition IoDispatcherBackend.h:89
FIoReadOptions Options
Definition IoDispatcherBackend.h:32
void * BackendData
Definition IoDispatcherBackend.h:28
bool HasBuffer() const
Definition IoDispatcherBackend.h:74
TSAN_ATOMIC(int32) Priority=0
void SetFailed()
Definition IoDispatcherBackend.h:57
void SetLastBackendError(EIoErrorCode InError)
Definition IoDispatcherBackend.h:65
uint64 GetStartTime() const
Definition IoDispatcherBackend.h:94
bool IsFailed() const
Definition IoDispatcherBackend.h:49
CORE_API void CreateBuffer(uint64 Size)
Definition IoDispatcher.cpp:1194
FIoBuffer & GetBuffer()
Definition IoDispatcherBackend.h:83
Definition IoDispatcher.cpp:191
Definition IoDispatcher.h:237
Definition IoStatus.h:101
const T & ValueOrDie()
Definition IoStatus.h:211
bool IsOk() const
Definition IoStatus.h:291
Definition SharedPointer.h:153
Definition InheritedContext.h:118
void CaptureInheritedContext()
Definition InheritedContext.h:121
@ Element
Definition Visu.h:18
uint32 GetNext(uint32 Index, const IndexType *NextIndexData, const uint32 NextIndexCount)
Definition CompactHashTable.h:116
Definition PackageReader.cpp:44
Definition IoDispatcherBackend.h:165
FIoSignatureErrorDelegate SignatureErrorDelegate
Definition IoDispatcherBackend.h:169
bool bIsMultiThreaded
Definition IoDispatcherBackend.h:171
FWakeUpIoDispatcherThreadDelegate WakeUpDispatcherThreadDelegate
Definition IoDispatcherBackend.h:167
Definition IoOffsetLength.h:12
Definition IoDispatcherBackend.h:186
virtual FIoRequestImpl * GetCompletedIoRequests()=0
virtual TIoStatusOr< uint64 > GetSizeForChunk(const FIoChunkId &ChunkId, const FIoOffsetAndLength &ChunkRange, uint64 &OutAvailable) const
Definition IoDispatcherBackend.h:227
virtual TIoStatusOr< FIoMappedRegion > OpenMapped(const FIoChunkId &ChunkId, const FIoReadOptions &Options)=0
virtual TIoStatusOr< uint64 > GetSizeForChunk(const FIoChunkId &ChunkId) const =0
virtual bool DoesChunkExist(const FIoChunkId &ChunkId) const =0
virtual bool DoesChunkExist(const FIoChunkId &ChunkId, const FIoOffsetAndLength &ChunkRange) const
Definition IoDispatcherBackend.h:221
virtual void Shutdown()
Definition IoDispatcherBackend.h:194
virtual void UpdatePriorityForIoRequest(FIoRequestImpl *Request)=0
virtual const TCHAR * GetName() const =0
virtual void Initialize(TSharedRef< const FIoDispatcherBackendContext > Context)=0
virtual void ResolveIoRequests(FIoRequestList Requests, FIoRequestList &OutUnresolved)=0
virtual void CancelIoRequest(FIoRequestImpl *Request)=0
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
constexpr bool IsSet() const
Definition Optional.h:69
OptionalType & Emplace(ArgsType &&... Args)
Definition Optional.h:323