Now allows for a stateless API and supports work-stealing between pods (via a shared task list stored in Redis). Clients now send requests for work to be executed with messages returned through a particular channel, which can be polled for outputs.
ExecuteV2 command in HordeAgent allows exercising the new code via the command line. Now mirrors the entire input directory by default, and only takes a JSON file to describe the command to perform.
#ROBOMERGE-SOURCE: CL 17171093 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17171094 by ben marsh in ue5-release-engine-test branch]
Also moves DotNETCommon/Metadata.cs to Shared/Metadata.cs
#jira none
#rb tim.smith
#ROBOMERGE-SOURCE: CL 17116964 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17116977 by jonathan adamczewski in ue5-release-engine-test branch]
* EpicGames.Horde contains all types and functionality common to server, agent, and clients of Horde.
* EpicGames.Horde.Client contains client interfaces for calling server functionality (but not server stubs for implementing those interfaces). Together with EpicGames.Horde, this defines the public interface for Horde. Note that types are still defined within the EpicGames.Horde namespace.
* HordeCommon contains functionality common to the server and agent (eg. session/lease messaging, task data structures, etc...), but which is not exposed to clients of Horde.
EpicGames.Horde.Common contains legacy REAPI functionality and will be removed once CB-REAPI is up and running.
[FYI] Joe.Kirchoff, Carl.Bystrom
#ROBOMERGE-SOURCE: CL 17012746 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)
[CL 17012752 by ben marsh in ue5-release-engine-test branch]