* IStorageBackend now includes methods for manipulating aliases and refs. All interaction with blobs is done through BlobLocators. This is the level of abstraction that the HTTP backend / controllers operate at.
* IStorageClient only manipulates blobs via handles, which abstracts any packing/compression/buffering that BundleStorageClient does.
* IBlobHandles no longer needs to include methods for partial reads, nesting, etc... Nesting of blobs within packets/bundles is now an implementation detail within the bundle storage client.
[CL 30648868 by ben marsh in ue5-main branch]
To support this, the Node base class and serialization methods have been removed, and serialization is performed through a BlobConverter<T> instance created and cached according to a BlobSerializationOptions object. Custom instances of serializers with different configurations may be registered with this object, allowing different code paths to use different serialization settings.
#jira UE-203605
[CL 30591420 by ben marsh in ue5-main branch]
[FYI] joshua.shlemmer
Original CL Desc
-----------------------------------------------------------------
Modifies buildtasks that were using HTTPClients so that they use a singleton http client.
Follow up from CL 30122407
#rb Eric.Knapik, Wes.Hunt
[CL 30210278 by ryan hummer in ue5-main branch]
This creates separate arenas for different types of content, improving read performance due to header data being discarded, and also allows cache instances to be globally configured and injected via DI.
[CL 27528676 by Ben Marsh in ue5-main branch]
* Rename NodeType -> BlobType, NodeData -> BlobData, and NodeHandle -> BlobHandle.
* Add methods to BlobHandle to allow partial reads of payload, and querying refs and type without fetching all data.
[CL 25895881 by Ben Marsh in ue5-main branch]