Commit Graph

77 Commits

Author SHA1 Message Date
ben marsh
f0e4c496ae Horde: Merge IStorageWriter and IBlobWriter.
[CL 30667967 by ben marsh in ue5-main branch]
2024-01-17 15:55:37 -05:00
ben marsh
a4265b060a Horde: Refactor of IStorageClient/IStorageBackend.
* 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]
2024-01-16 18:08:13 -05:00
ben marsh
9ccdc40f9c Horde: Allow customizing blob serializers to use in different contexts, allowing us to lock serialization formats when talking to remote agents of a particular version.
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]
2024-01-12 08:59:27 -05:00
joe kirchoff
9cfbb6a32f Fix warnings in ModuleRules
#rnx

[CL 30431868 by joe kirchoff in ue5-main branch]
2023-12-21 13:35:12 -05:00
ben marsh
4373db4c84 Horde: Add helper methods for writing directory trees to storage writers.
[CL 30292017 by ben marsh in ue5-main branch]
2023-12-13 09:45:27 -05:00
ben marsh
3647ef962b Horde: Add a typed HTTP client for communicating with the Horde server. Removes boilerplate code for getting an access token, configuring request objects, and parsing responses. Synchronous for now.
[CL 30080857 by ben marsh in ue5-main branch]
2023-12-04 10:09:40 -05:00
ben marsh
5ed85a8c97 Horde: Move RemoteWorkerCpp into the new HordeTest app built by UBT.
[CL 30054172 by ben marsh in ue5-main branch]
2023-12-01 16:33:52 -05:00
ben marsh
c28154290a Horde: Add a sample app which demonstrates interop with Horde from engine code.
[CL 30053161 by ben marsh in ue5-main branch]
2023-12-01 16:09:39 -05:00
ben marsh
de0ad7e1c0 Horde: Missing preprocessor settings for building RemoteWorkerCpp through standalone project.
#jira

[CL 29921646 by ben marsh in ue5-main branch]
2023-11-24 12:26:09 -05:00
ben marsh
0fd23ae2ee Horde: Add missing files to the mock-UE library.
#jira

[CL 29921451 by ben marsh in ue5-main branch]
2023-11-24 12:15:27 -05:00
ben marsh
a833c98218 Horde: Update remote worker sample to match changes to UE Horde module.
#jira

[CL 29919504 by ben marsh in ue5-main branch]
2023-11-24 09:53:52 -05:00
ben marsh
f1e588128b Horde: Move ComputePlatform.h out of public API.
[CL 29919237 by ben marsh in ue5-main branch]
2023-11-24 09:24:22 -05:00
ben marsh
c8465d5c15 Horde: Use UE types in Horde library.
[FYI] Laura.Hermanns

[CL 29893802 by ben marsh in ue5-main branch]
2023-11-22 14:09:38 -05:00
ben marsh
3d2661ad0f Horde: Convert public C++ API for Horde library to use UE types.
[CL 29891273 by ben marsh in ue5-main branch]
2023-11-22 12:25:59 -05:00
ben marsh
d7a2bc311c Horde: Add .build.cs and .target.cs files for RemoteWorkerCpp.
[CL 29886486 by ben marsh in ue5-main branch]
2023-11-22 07:49:58 -05:00
carl bystrom
97ebad095d EpicGames.Horde: Refactor remote exec client to use connection metadata
[CL 29710398 by carl bystrom in ue5-main branch]
2023-11-14 07:59:05 -05:00
ben marsh
2f59d171a4 Horde: Fix C++ remote worker compilation in non-debug configurations (missing C++20 language flag).
#jira

[CL 29610838 by ben marsh in ue5-main branch]
2023-11-09 16:52:21 -05:00
ben marsh
0361789164 Horde: Fix remote execution sample app.
#jira

[CL 29607280 by ben marsh in ue5-main branch]
2023-11-09 15:26:12 -05:00
ben marsh
66829761be Horde: Change BlobHandle to be an interface so writer interfaces can also implement it.
#jira

[CL 29509421 by ben marsh in ue5-main branch]
2023-11-06 20:47:29 -05:00
ben marsh
431ed519d4 Horde: Change MemoryStorageClient to be a self-contained storage client implementation, and wrap it in a BundleStorageClientWrapper for existing tests.
#jira

[CL 28999448 by ben marsh in ue5-main branch]
2023-10-21 10:22:42 -04:00
ben marsh
46803e39d2 [Backout] - CL28977700
[FYI] ben.marsh
Original CL Desc
-----------------------------------------------------------------
Horde: Change MemoryStorageClient to be a self-contained storage client implementation, and wrap it in a BundleStorageClientWrapper for existing tests.

#jira

[CL 28998933 by ben marsh in ue5-main branch]
2023-10-21 08:53:49 -04:00
ben marsh
8e940dcffa Horde: Change MemoryStorageClient to be a self-contained storage client implementation, and wrap it in a BundleStorageClientWrapper for existing tests.
#jira

[CL 28978022 by ben marsh in ue5-main branch]
2023-10-20 15:50:11 -04:00
ryan hummer
2478c407dc [Backout] - CL28937034
[FYI] Ben.Marsh
Original CL Desc
-----------------------------------------------------------------
Horde: Change MemoryStorageClient to be a self-contained storage client implementation, and wrap it in a BundleStorageClientWrapper for existing tests.

#jira

[CL 28944147 by ryan hummer in ue5-main branch]
2023-10-19 19:55:00 -04:00
ben marsh
6b6062c524 Horde: Change MemoryStorageClient to be a self-contained storage client implementation, and wrap it in a BundleStorageClientWrapper for existing tests.
#jira

[CL 28937058 by ben marsh in ue5-main branch]
2023-10-19 17:57:52 -04:00
ben marsh
2416bcfe09 Horde: Remove some references to BundleNodeHandle from application code.
#jira

[CL 28615861 by ben marsh in ue5-main branch]
2023-10-10 09:01:45 -04:00