|
| | IVirtualizationSystem ()=default |
| |
| virtual | ~IVirtualizationSystem ()=default |
| |
| virtual bool | Initialize (const FInitParams &InitParams)=0 |
| |
| virtual bool | IsEnabled () const =0 |
| |
| virtual bool | IsPushingEnabled (EStorageType StorageType) const =0 |
| |
| virtual EPayloadFilterReason | FilterPayload (const UObject *Owner) const =0 |
| |
| virtual bool | AllowSubmitIfVirtualizationFailed () const =0 |
| |
| virtual bool | PushData (TArrayView< FPushRequest > Requests, EStorageType StorageType)=0 |
| |
| bool | PushData (FPushRequest Request, EStorageType StorageType) |
| |
| bool | PushData (const FIoHash &Id, const FCompressedBuffer &Payload, const FString &Context, EStorageType StorageType) |
| |
| virtual bool | PullData (TArrayView< FPullRequest > Requests)=0 |
| |
| FCompressedBuffer | PullData (const FIoHash &Id) |
| |
| bool | PullData (FPullRequest Request) |
| |
| virtual EQueryResult | QueryPayloadStatuses (TArrayView< const FIoHash > Ids, EStorageType StorageType, TArray< EPayloadStatus > &OutStatuses)=0 |
| |
| virtual FVirtualizationResult | TryVirtualizePackages (TConstArrayView< FString > PackagePaths, EVirtualizationOptions Options)=0 |
| |
| virtual FRehydrationResult | TryRehydratePackages (TConstArrayView< FString > PackagePaths, ERehydrationOptions Options)=0 |
| |
| virtual ERehydrationResult | TryRehydratePackages (TConstArrayView< FString > PackagePaths, uint64 PaddingAlignment, TArray< FText > &OutErrors, TArray< FSharedBuffer > &OutPackages, TArray< FRehydrationInfo > *OutInfo)=0 |
| |
| virtual void | DumpStats () const =0 |
| |
| virtual TArray< FBackendStats > | GetBackendStatistics () const =0 |
| |
| virtual FPayloadActivityInfo | GetSystemStatistics () const =0 |
| |
| virtual void | GatherAnalytics (TArray< FAnalyticsEventAttribute > &Attributes) const =0 |
| |
| virtual FOnNotification & | GetNotificationEvent ()=0 |
| |
The base interface for the virtualization system. An Epic maintained version can be found in the Virtualization module. To implement your own, simply derived from this interface and then use the UE_REGISTER_VIRTUALIZATION_SYSTEM macro in the cpp to register it as an option. You can then set the config file option [Core.ContentVirtualization]SystemName=FooBar, where FooBar should be the SystemName parameter you used when registering with the macro.
Special Cases: SystemName=Off - This is the default set up and means a project will not use content virtualization Note that calling IVirtualizationSystem::Get() will still return a valid IVirtualizationSystem implementation, but all push and pull operations will result in failure and IsEnabled will always return false. SystemName=Default - This will cause the default Epic implementation to be used
- See also
- VirtualizationManager
Initialize the system from the parameters given in the FInitParams structure. The system can only rely on the members of FInitParams to be valid for the duration of the method call, so if a system needs to retain information longer term then it should make it's own copy of the required data.
NOTE: Although it is relatively easy to access cached FConfigFiles, systems should use the one provided by InitParams to ensure that the correct settings are parsed.
- Parameters
-
| InitParam | The parameters used to initialize the system |
- Returns
- True if the system was initialized correctly, otherwise false. Note that if the method returns false then the system will be deleted and the default FNullVirtualizationSystem will be used instead.
Implemented in UE::Virtualization::FNullVirtualizationSystem.
Runs the virtualization process on a set of packages. All of the packages will be parsed and any found to be containing locally stored payloads will have them removed but before they are removed they will be pushed to persistent storage.
Note that if errors occur some or all of the payloads could still get pushed to persistent storage, usually if the errors occur when trying to remove the now virtualized payload from the packages on disk. In addition, if errors do occur when removing the virtualized payloads, some packages may be virtualized successfully. In any case the packages should still be usable and safe to checkin after the process has run, even with failure cases.
- Parameters
-
| PackagePaths | An array of file paths to packages that should be virtualized. If a path resolves to a file that is not a valid package then it will be silently skipped and will not be considered an error. |
| Options | An enum bitfield containing various options for the process. |
- See also
- EVirtualizationOptions
- Parameters
-
| OutResultInfo | A struct that will contain info about the process. |
- See also
- FVirtualizationResult
- Returns
- A EVirtualizationResult enum with the status of the process. If the status is not EVirtualizationResult::Success then the parameter OutErrors should contain at least one entry.
Implemented in UE::Virtualization::FNullVirtualizationSystem.