Navigation
API > API/Runtime > API/Runtime/Core
This interface can be implemented and passed to a FPushRequest as a way of providing the payload to the virtualization system for a push operation but deferring the loading of the payload from disk until it is actually needed. In some cases this allows the loading of the payload to be skipped entirely (if the payload is already in all backends for example) or can prevent memory spikes caused by loading a large number of payloads for a batched push request.
Note that if the backend graph contains multiple backends then payloads may be requested multiple times. It will be up to the provider implementation to decide if a requested payload should be cached in case of future access or not. The methods are not const in order to make it easier for derived classes to cache the results if needed without the use of mutable.
| Name | IPayloadProvider |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Virtualization/VirtualizationSystem.h |
| Include Path | #include "Virtualization/VirtualizationSystem.h" |
Syntax
class IPayloadProvider
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
IPayloadProvider() |
Virtualization/VirtualizationSystem.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~IPayloadProvider() |
Virtualization/VirtualizationSystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
uint64 GetPayloadSize
(
const FIoHash& Identifier |
Returns the current size of the payload on disk. | Virtualization/VirtualizationSystem.h | |
FCompressedBuffer RequestPayload
(
const FIoHash& Identifier |
Should return the payload for the given FIoHash. | Virtualization/VirtualizationSystem.h |