6#include "Containers/Array.h"
294 if (Provider !=
nullptr)
307 if (Provider !=
nullptr)
358 enum class EStatus :
int8
384 return Status == EStatus::Success;
389 Status = EStatus::Error;
396 Status = Payload ? EStatus::Success : EStatus::Error;
402 Status = Payload ? EStatus::Success : EStatus::Error;
408 EStatus Status = EStatus::Pending;
732 return Request.GetPayload();
873#define UE_REGISTER_VIRTUALIZATION_SYSTEM(SystemClass, SystemName) \
874 class FVirtualizationSystem##Factory : public Private::IVirtualizationSystemFactory \
877 FVirtualizationSystem##Factory() { IModularFeatures::Get().RegisterModularFeature(FName("VirtualizationSystem"), this); }\
878 virtual ~FVirtualizationSystem##Factory() { IModularFeatures::Get().UnregisterModularFeature(FName("VirtualizationSystem"), this); } \
880 virtual TUniquePtr<IVirtualizationSystem> Create() override { return MakeUnique<SystemClass>(); } \
881 virtual FName GetName() override { return FName(#SystemName); } \
883 static FVirtualizationSystem##Factory FVirtualizationSystem##Factory##Instance;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition CompressedBuffer.h:50
CORE_API uint64 GetCompressedSize() const
Definition CompressedBuffer.cpp:1114
void Reset()
Definition CompressedBuffer.h:109
Definition ConfigCacheIni.h:566
Definition NameTypes.h:617
Definition PackagePath.h:89
Definition IModularFeature.h:12
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_REWRITE bool IsEmpty() const
Definition Array.h:1133
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition AssetRegistryState.h:50
Definition DelegateSignatureImpl.inl:1029
Definition UniquePtr.h:107
Definition VirtualizationSystem.h:889
virtual bool SyncPayloadSidecarFile(const FPackagePath &PackagePath)=0
Definition VirtualizationSystem.h:89
IPayloadProvider()=default
virtual FCompressedBuffer RequestPayload(const FIoHash &Identifier)=0
virtual uint64 GetPayloadSize(const FIoHash &Identifier)=0
virtual ~IPayloadProvider()=default
Definition VirtualizationSystem.h:595
virtual EPayloadFilterReason FilterPayload(const UObject *Owner) const =0
virtual FOnNotification & GetNotificationEvent()=0
static CORE_API IVirtualizationSystem & Get()
Definition VirtualizationSystem.cpp:387
virtual void DumpStats() const =0
virtual ERehydrationResult TryRehydratePackages(TConstArrayView< FString > PackagePaths, uint64 PaddingAlignment, TArray< FText > &OutErrors, TArray< FSharedBuffer > &OutPackages, TArray< FRehydrationInfo > *OutInfo)=0
bool PushData(FPushRequest Request, EStorageType StorageType)
Definition VirtualizationSystem.h:684
FCompressedBuffer PullData(const FIoHash &Id)
Definition VirtualizationSystem.h:726
virtual FPayloadActivityInfo GetSystemStatistics() const =0
virtual bool IsPushingEnabled(EStorageType StorageType) const =0
virtual TArray< FBackendStats > GetBackendStatistics() const =0
virtual bool IsEnabled() const =0
virtual bool AllowSubmitIfVirtualizationFailed() const =0
virtual bool PullData(TArrayView< FPullRequest > Requests)=0
virtual EQueryResult QueryPayloadStatuses(TArrayView< const FIoHash > Ids, EStorageType StorageType, TArray< EPayloadStatus > &OutStatuses)=0
bool PushData(const FIoHash &Id, const FCompressedBuffer &Payload, const FString &Context, EStorageType StorageType)
Definition VirtualizationSystem.h:705
static CORE_API FName GetSystemName()
Definition VirtualizationSystem.cpp:382
IVirtualizationSystem()=default
virtual FRehydrationResult TryRehydratePackages(TConstArrayView< FString > PackagePaths, ERehydrationOptions Options)=0
virtual bool Initialize(const FInitParams &InitParams)=0
virtual bool PushData(TArrayView< FPushRequest > Requests, EStorageType StorageType)=0
virtual void GatherAnalytics(TArray< FAnalyticsEventAttribute > &Attributes) const =0
ENotification
Definition VirtualizationSystem.h:831
@ PushEndedNotification
Definition VirtualizationSystem.h:833
@ PullFailedNotification
Definition VirtualizationSystem.h:838
@ PullEndedNotification
Definition VirtualizationSystem.h:837
@ PushBegunNotification
Definition VirtualizationSystem.h:832
@ PullBegunNotification
Definition VirtualizationSystem.h:836
@ PushFailedNotification
Definition VirtualizationSystem.h:834
bool PullData(FPullRequest Request)
Definition VirtualizationSystem.h:747
virtual FVirtualizationResult TryVirtualizePackages(TConstArrayView< FString > PackagePaths, EVirtualizationOptions Options)=0
virtual ~IVirtualizationSystem()=default
static CORE_API bool IsInitialized()
Definition VirtualizationSystem.cpp:377
Definition VirtualizationSystem.h:855
virtual FName GetName()=0
virtual TUniquePtr< IVirtualizationSystem > Create()=0
Definition RobinHoodHashTable.h:18
Definition OverriddenPropertySet.cpp:45
Definition VirtualizationSystem.cpp:40
ERehydrationOptions
Definition VirtualizationTypes.h:99
EStorageType
Definition VirtualizationTypes.h:14
FAnalyticsRecordEvent & GetAnalyticsRecordEvent()
Definition VirtualizationSystem.cpp:371
EPayloadFilterReason
Definition VirtualizationTypes.h:69
EAnalyticsFlags
Definition VirtualizationSystem.h:565
EInitializationFlags
Definition VirtualizationTypes.h:109
void Shutdown()
Definition VirtualizationSystem.cpp:365
EQueryResult
Definition VirtualizationTypes.h:27
EVirtualizationOptions
Definition VirtualizationTypes.h:89
bool ShouldInitializePreSlate()
Definition VirtualizationSystem.cpp:357
ERehydrationResult
Definition VirtualizationTypes.h:60
Definition AnalyticsEventAttribute.h:48
Definition VirtualizationSystem.h:51
FString DebugName
Definition VirtualizationSystem.h:55
FString ConfigName
Definition VirtualizationSystem.h:53
FPayloadActivityInfo PayloadActivity
Definition VirtualizationSystem.h:61
EStorageType Type
Definition VirtualizationSystem.h:58
Definition VirtualizationSystem.h:510
FStringView ProjectName
Definition VirtualizationSystem.h:519
const FConfigFile & ConfigFile
Definition VirtualizationSystem.h:522
FInitParams(FStringView InProjectName, const FConfigFile &InConfigFile)
Definition VirtualizationSystem.h:511
Definition VirtualizationSystem.h:35
int64 PayloadCount
Definition VirtualizationSystem.h:37
int64 TotalBytes
Definition VirtualizationSystem.h:39
int64 CyclesSpent
Definition VirtualizationSystem.h:41
Definition VirtualizationSystem.h:33
FActivity Cache
Definition VirtualizationSystem.h:46
FActivity Pull
Definition VirtualizationSystem.h:44
FActivity Push
Definition VirtualizationSystem.h:45
Definition VirtualizationSystem.h:356
void SetPayload(FCompressedBuffer &&InPayload)
Definition VirtualizationSystem.h:399
void SetPayload(const FCompressedBuffer &InPayload)
Definition VirtualizationSystem.h:393
FPullRequest(const FIoHash &InIdentifier)
Definition VirtualizationSystem.h:366
const FIoHash & GetIdentifier() const
Definition VirtualizationSystem.h:372
const FCompressedBuffer & GetPayload() const
Definition VirtualizationSystem.h:377
bool IsSuccess() const
Definition VirtualizationSystem.h:382
void SetError()
Definition VirtualizationSystem.h:387
Definition VirtualizationSystem.h:236
void ResetResult()
Definition VirtualizationSystem.h:323
const FString & GetContext() const
Definition VirtualizationSystem.h:318
FPushRequest(const FIoHash &InIdentifier, IPayloadProvider &InProvider, FString &&InContext)
Definition VirtualizationSystem.h:277
const FIoHash & GetIdentifier() const
Definition VirtualizationSystem.h:286
const FPushResult & GetResult() const
Definition VirtualizationSystem.h:333
FCompressedBuffer GetPayload() const
Definition VirtualizationSystem.h:305
FPushRequest(const FIoHash &InIdentifier, const FCompressedBuffer &InPayload, const FString &InContext)
Definition VirtualizationSystem.h:247
FPushRequest(const FIoHash &InIdentifier, FCompressedBuffer &&InPayload, FString &&InContext)
Definition VirtualizationSystem.h:262
void SetResult(FPushResult InResult)
Definition VirtualizationSystem.h:328
uint64 GetPayloadSize() const
Definition VirtualizationSystem.h:292
Definition VirtualizationSystem.h:106
EPayloadFilterReason GetFilterReason() const
Definition VirtualizationSystem.h:204
static FPushResult GetAsError()
Definition VirtualizationSystem.h:135
static FPushResult GetAsProcessDisabled()
Definition VirtualizationSystem.h:140
static FPushResult GetAsNoBackend()
Definition VirtualizationSystem.h:145
bool IsFiltered() const
Definition VirtualizationSystem.h:189
bool IsVirtualized() const
Definition VirtualizationSystem.h:183
static FPushResult GetAsPushed()
Definition VirtualizationSystem.h:165
bool WasPushed() const
Definition VirtualizationSystem.h:171
EStatus
Definition VirtualizationSystem.h:113
bool WasError() const
Definition VirtualizationSystem.h:177
static FPushResult GetAsInvalid()
Definition VirtualizationSystem.h:150
static FPushResult GetAsFiltered(EPayloadFilterReason Reason)
Definition VirtualizationSystem.h:155
static FPushResult GetAsAlreadyExists()
Definition VirtualizationSystem.h:160
Definition VirtualizationSystem.h:66
uint64 RehydratedSize
Definition VirtualizationSystem.h:70
int32 NumPayloadsRehydrated
Definition VirtualizationSystem.h:72
uint64 OriginalSize
Definition VirtualizationSystem.h:68
Definition VirtualizationSystem.h:461
uint64 PostOperationSize
Definition VirtualizationSystem.h:476
uint64 PreOperationSize
Definition VirtualizationSystem.h:474
bool WasSuccessful() const
Definition VirtualizationSystem.h:479
void AddError(FText &&ErrorMsg)
Definition VirtualizationSystem.h:491
void AddError(const FText &ErrorMsg)
Definition VirtualizationSystem.h:485
TArray< FText > Errors
Definition VirtualizationSystem.h:463
int32 GetNumErrors() const
Definition VirtualizationSystem.h:497
TArray< FString > RehydratedPackages
Definition VirtualizationSystem.h:466
TArray< FString > CheckedOutPackages
Definition VirtualizationSystem.h:468
double TimeTaken
Definition VirtualizationSystem.h:471
Definition VirtualizationSystem.h:413
TArray< FText > DescriptionTags
Definition VirtualizationSystem.h:418
void AddError(const FText &ErrorMsg)
Definition VirtualizationSystem.h:440
uint64 PreOperationSize
Definition VirtualizationSystem.h:429
void AddError(FText &&ErrorMsg)
Definition VirtualizationSystem.h:446
double TimeTaken
Definition VirtualizationSystem.h:426
TArray< FString > VirtualizedPackages
Definition VirtualizationSystem.h:421
bool WasSuccessful() const
Definition VirtualizationSystem.h:434
TArray< FString > CheckedOutPackages
Definition VirtualizationSystem.h:423
TArray< FText > Errors
Definition VirtualizationSystem.h:415
uint64 PostOperationSize
Definition VirtualizationSystem.h:431
int32 GetNumErrors() const
Definition VirtualizationSystem.h:452