5#include "Containers/Map.h"
15#include "Misc/Optional.h"
20#define UE_API IOSTOREONDEMANDCORE_API
26#if !defined(UE_IAS_CUSTOM_INITIALIZATION)
27 #define UE_IAS_CUSTOM_INITIALIZATION 0
109 return Handle ==
Other.Handle;
284 return float(Progress);
293 return float(Progress);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define UE_API
Definition IoStoreOnDemand.h:20
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UE_API
Definition SColorGradingComponentViewer.h:12
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition IoStatus.h:101
Definition UnrealString.h.inl:34
UE_FORCEINLINE_HINT void Reset()
Definition SharedPointer.h:1120
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition UniquePtr.h:107
Definition IoStoreOnDemand.cpp:454
Definition IoStoreOnDemand.h:88
bool IsValid() const
Definition IoStoreOnDemand.h:97
UE_API FOnDemandContentHandle()
Definition IoStoreOnDemandInternals.cpp:41
static UE_API FOnDemandContentHandle Create()
Definition IoStoreOnDemandInternals.cpp:49
UE_API friend FString LexToString(const FOnDemandContentHandle &Handle)
Definition IoStoreOnDemandInternals.cpp:68
void Reset()
Definition IoStoreOnDemand.h:95
UE_API ~FOnDemandContentHandle()
Definition IoStoreOnDemandInternals.cpp:45
bool operator==(FOnDemandContentHandle &Other) const
Definition IoStoreOnDemand.h:107
Definition OnDemandContentInstaller.h:63
Definition OnDemandHostGroup.h:18
static UE_API FName DefaultName
Definition OnDemandHostGroup.h:50
Definition IoStoreOnDemand.h:329
UE_API FOnDemandInstallRequest()
Definition IoStoreOnDemandInternals.cpp:74
virtual UE_API EStatus GetStatus() const override
Definition IoStoreOnDemandInternals.cpp:101
UE_API FOnDemandInstallRequest & operator=(FOnDemandInstallRequest &&)
Definition IoStoreOnDemandInternals.cpp:94
UE_API ~FOnDemandInstallRequest()
Definition IoStoreOnDemandInternals.cpp:84
UE_API void Cancel()
Definition IoStoreOnDemandInternals.cpp:106
UE_API void UpdatePriority(int32 NewPriority)
Definition IoStoreOnDemandInternals.cpp:117
Definition IoStoreOnDemandInternals.h:43
Definition OnDemandIoStore.h:332
Definition IoStoreOnDemand.h:43
bool IsOk() const
Definition IoStoreOnDemand.h:72
bool IsError() const
Definition IoStoreOnDemand.h:76
virtual EStatus GetStatus() const =0
bool IsPendingCallbacks() const
Definition IoStoreOnDemand.h:70
bool IsNone() const
Definition IoStoreOnDemand.h:66
bool IsCompleted() const
Definition IoStoreOnDemand.h:78
bool IsCancelled() const
Definition IoStoreOnDemand.h:74
FOnDemandRequest()=default
bool IsPending() const
Definition IoStoreOnDemand.h:68
virtual ~FOnDemandRequest()=default
EStatus
Definition IoStoreOnDemand.h:47
@ PendingCallbacks
Definition IoStoreOnDemand.h:53
@ Ok
Definition IoStoreOnDemand.h:55
@ Pending
Definition IoStoreOnDemand.h:51
@ Cancelled
Definition IoStoreOnDemand.h:57
@ Error
Definition IoStoreOnDemand.h:59
@ None
Definition IoStoreOnDemand.h:49
Definition IoStoreOnDemand.h:532
IAnalyticsRecording()=default
virtual void StopRecording()=0
virtual void Report(TArray< FAnalyticsEventAttribute > &OutAnalyticsArray) const =0
virtual ~IAnalyticsRecording()=default
Definition IoStoreOnDemand.h:671
virtual IOnDemandIoStore * CreateInstance()=0
virtual void DestroyInstance(IOnDemandIoStore *Instance)=0
static UE_API FName FeatureName
Definition IoStoreOnDemand.h:674
Definition IoStoreOnDemand.h:567
virtual void Mount(FOnDemandMountArgs &&Args, FOnDemandMountCompleted &&OnCompleted)=0
virtual bool IsOnDemandStreamingEnabled() const =0
virtual FOnDemandInstallRequest Install(FOnDemandInstallArgs &&Args, FOnDemandInstallCompleted &&OnCompleted, FOnDemandInstallProgressed &&OnProgress=nullptr)=0
virtual FIoStatus InitializePostHotfix()=0
virtual FOnDemandCacheUsage GetCacheUsage(const FOnDemandGetCacheUsageArgs &Args) const =0
virtual void ReportAnalytics(TArray< FAnalyticsEventAttribute > &OutAnalyticsArray) const =0
virtual FIoStatus GetInstallSizesByMountId(const FOnDemandGetInstallSizeArgs &Args, TMap< FString, uint64 > &OutSizesByMountId) const =0
virtual void Verify(FOnDemandVerifyCacheCompleted &&OnCompleted)=0
virtual void SetStreamingOptions(EOnDemandStreamingOptions Options)=0
virtual void DumpMountedContainersToLog() const =0
virtual void Defrag(FOnDemandDefragArgs &&Args, FOnDemandDefragCompleted &&OnCompleted)=0
virtual FOnDemandRegisterHostGroupResult RegisterHostGroup(FOnDemandRegisterHostGroupArgs &&Args)=0
virtual void Purge(FOnDemandPurgeArgs &&Args, FOnDemandPurgeCompleted &&OnCompleted)=0
virtual TIoStatusOr< FOnDemandInstallSizeResult > GetInstallSize(const FOnDemandGetInstallSizeArgs &Args) const =0
virtual TUniquePtr< IAnalyticsRecording > StartAnalyticsRecording() const =0
virtual void OnImmediateAnalytic(FOnDemandImmediateAnalyticHandler EventHandler)=0
virtual ~IOnDemandIoStore()=default
virtual FIoStatus Unmount(FStringView MountId)=0
NO_LOGGING.
Definition Client.h:20
IOnDemandIoStore * TryGetOnDemandIoStore()
Definition IoStoreOnDemand.cpp:548
EOnDemandPurgeOptions
Definition IoStoreOnDemand.h:358
EOnDemandGetCacheUsageOptions
Definition IoStoreOnDemand.h:462
EOnDemandInstallOptions
Definition IoStoreOnDemand.h:215
@ AllowMissingDependencies
@ InstallOptionalBulkData
EOnDemandStreamingOptions
Definition IoStoreOnDemand.h:557
@ OptionalBulkDataDisabled
EOnDemandDefragOptions
Definition IoStoreOnDemand.h:393
IOnDemandIoStore & GetOnDemandIoStore()
Definition IoStoreOnDemand.cpp:554
EOnDemandMountOptions
Definition IoStoreOnDemand.h:144
EOnDemandGetInstallSizeOptions
Definition IoStoreOnDemand.h:426
@ IncludeOptionalBulkData
Definition AnalyticsEventAttribute.h:48
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition Optional.h:131
constexpr bool IsSet() const
Definition Optional.h:69
Definition IoStoreOnDemand.h:511
FOnDemandStreamingCacheUsage StreamingCache
Definition IoStoreOnDemand.h:513
FOnDemandInstallCacheUsage InstallCache
Definition IoStoreOnDemand.h:512
Definition IoStoreOnDemand.h:403
TOptional< uint64 > BytesToFree
Definition IoStoreOnDemand.h:407
Definition IoStoreOnDemand.h:412
bool IsOk() const
Definition IoStoreOnDemand.h:414
double DurationInSeconds
Definition IoStoreOnDemand.h:416
TOptional< UE::UnifiedError::FError > Error
Definition IoStoreOnDemand.h:418
Definition IoStoreOnDemand.h:474
EOnDemandGetCacheUsageOptions Options
Definition IoStoreOnDemand.h:475
Definition IoStoreOnDemand.h:438
EOnDemandGetInstallSizeOptions Options
Definition IoStoreOnDemand.h:446
FString MountId
Definition IoStoreOnDemand.h:440
TArray< FString > TagSets
Definition IoStoreOnDemand.h:442
FOnDemandContentHandle ContentHandle
Definition IoStoreOnDemand.h:448
TArray< FPackageId > PackageIds
Definition IoStoreOnDemand.h:444
Definition IoStoreOnDemand.h:233
int32 Priority
Definition IoStoreOnDemand.h:245
EOnDemandInstallOptions Options
Definition IoStoreOnDemand.h:243
TArray< FPackageId > PackageIds
Definition IoStoreOnDemand.h:239
FSharedString DebugName
Definition IoStoreOnDemand.h:247
TArray< FString > TagSets
Definition IoStoreOnDemand.h:237
FString MountId
Definition IoStoreOnDemand.h:235
FOnDemandContentHandle ContentHandle
Definition IoStoreOnDemand.h:241
Definition IoStoreOnDemand.h:487
uint64 ReferencedBlockSize
Definition IoStoreOnDemand.h:490
uint64 TotalSize
Definition IoStoreOnDemand.h:489
uint64 FragmentedChunksSize
Definition IoStoreOnDemand.h:492
uint64 MaxSize
Definition IoStoreOnDemand.h:488
TArray< FOnDemandInstallHandleCacheUsage > ReferencedBytesByHandle
Definition IoStoreOnDemand.h:495
uint64 ReferencedSize
Definition IoStoreOnDemand.h:491
UE_API friend FStringBuilderBase & operator<<(FStringBuilderBase &Sb, const FOnDemandInstallCacheUsage &CacheUsage)
Definition IoStoreOnDemand.cpp:431
Definition IoStoreOnDemand.h:479
UPTRINT HandleId
Definition IoStoreOnDemand.h:480
uint64 ReferencedBytes
Definition IoStoreOnDemand.h:482
FSharedString DebugName
Definition IoStoreOnDemand.h:481
Definition IoStoreOnDemand.h:252
uint64 TotalContentSize
Definition IoStoreOnDemand.h:254
FOnDemandInstallProgress & Combine(const FOnDemandInstallProgress &Other)
Definition IoStoreOnDemand.h:260
uint64 GetTotalSize() const
Definition IoStoreOnDemand.h:301
uint64 TotalInstallSize
Definition IoStoreOnDemand.h:256
uint64 CurrentInstallSize
Definition IoStoreOnDemand.h:258
uint64 GetTotalDownloadSize() const
Definition IoStoreOnDemand.h:268
float GetAbsoluteProgress() const
Definition IoStoreOnDemand.h:287
uint64 GetCachedSize() const
Definition IoStoreOnDemand.h:296
uint64 GetAlreadyDownloadedSize() const
Definition IoStoreOnDemand.h:273
float GetRelativeProgress() const
Definition IoStoreOnDemand.h:278
Definition IoStoreOnDemand.h:312
bool IsOk() const
Definition IoStoreOnDemand.h:314
double DurationInSeconds
Definition IoStoreOnDemand.h:316
TOptional< UE::UnifiedError::FError > Error
Definition IoStoreOnDemand.h:320
FOnDemandInstallProgress Progress
Definition IoStoreOnDemand.h:318
Definition IoStoreOnDemand.h:453
uint64 InstallSize
Definition IoStoreOnDemand.h:455
TOptional< uint64 > DownloadSize
Definition IoStoreOnDemand.h:457
Definition IoStoreOnDemand.h:174
FString FilePath
Definition IoStoreOnDemand.h:182
FString TocRelativeUrl
Definition IoStoreOnDemand.h:180
FString MountId
Definition IoStoreOnDemand.h:178
EOnDemandMountOptions Options
Definition IoStoreOnDemand.h:188
TUniquePtr< FOnDemandToc > Toc
Definition IoStoreOnDemand.h:176
FName HostGroupName
Definition IoStoreOnDemand.h:184
FOnDemandHostGroup HostGroup
Definition IoStoreOnDemand.h:186
Definition IoStoreOnDemand.h:193
UE_API void LogResult()
Definition IoStoreOnDemandInternals.cpp:11
double DurationInSeconds
Definition IoStoreOnDemand.h:199
FString MountId
Definition IoStoreOnDemand.h:195
FIoStatus Status
Definition IoStoreOnDemand.h:197
Definition IoStoreOnDemand.h:370
TOptional< uint64 > BytesToPurge
Definition IoStoreOnDemand.h:374
Definition IoStoreOnDemand.h:379
double DurationInSeconds
Definition IoStoreOnDemand.h:383
TOptional< UE::UnifiedError::FError > Error
Definition IoStoreOnDemand.h:385
bool IsOk() const
Definition IoStoreOnDemand.h:381
Definition IoStoreOnDemand.h:120
TArray< FString > HostNames
Definition IoStoreOnDemand.h:124
FString TestUrl
Definition IoStoreOnDemand.h:126
FName HostGroupName
Definition IoStoreOnDemand.h:122
bool bUseSecureHttp
Definition IoStoreOnDemand.h:128
Definition IoStoreOnDemand.h:133
TOptional< UE::UnifiedError::FError > Error
Definition IoStoreOnDemand.h:139
bool IsOk() const
Definition IoStoreOnDemand.h:135
FOnDemandHostGroup HostGroup
Definition IoStoreOnDemand.h:137
Definition IoStoreOnDemand.h:502
uint64 MaxSize
Definition IoStoreOnDemand.h:503
UE_API friend FStringBuilderBase & operator<<(FStringBuilderBase &Sb, const FOnDemandStreamingCacheUsage &CacheUsage)
Definition IoStoreOnDemand.cpp:444
uint64 TotalSize
Definition IoStoreOnDemand.h:504
Definition IoStoreOnDemand.h:518
TOptional< UE::UnifiedError::FError > Error
Definition IoStoreOnDemand.h:524
bool IsOk() const
Definition IoStoreOnDemand.h:520
double DurationInSeconds
Definition IoStoreOnDemand.h:522