Commit Graph

320 Commits

Author SHA1 Message Date
Ben Marsh
320107efd8 Horde: Compute service refactor.
- Message framing changed back to use simple
- Support for multiplexing multiple requests over a single socket. Requests are tagged with an arbitrary channel id and routed to a queue for the appropriate IComputeChannel on the client.
- Clients can now request a message writer through the IComputeChannel interface, allowing pooling of write buffers for generating new messages and reducing data copies.
- Added accounting for machine resources in compute leases. Compute requests specify min/max desired resources, receive allocated resources in respoonse.
- Switched to AES-GCM for encryption. Message length is unencrypted but validated as part of the message packet.

#preflight none

[CL 24521844 by Ben Marsh in ue5-main branch]
2023-03-06 09:55:49 -05:00
Ben Marsh
d55712d7de EpicGames.Core: Fix warnings generating documentation.
#preflight none

[CL 24457120 by Ben Marsh in ue5-main branch]
2023-02-28 21:58:32 -05:00
Ben Marsh
101ffd3de1 Horde: Connect directly to agents when running remote execution leases, rather than having agents connect back to the initiator.
- Agents now accept incoming connections on a defined port, and match them up with nonces specified through leases assigned from the server.
- Requests for new compute resources now attempt to allocate a lease and return immediately with nonce and AES keys.

#preflight none

[CL 24452056 by Ben Marsh in ue5-main branch]
2023-02-28 16:43:25 -05:00
Tim Smith
71de75cc14 Reduced the lock contention while updating the queue empty event.
#rb dan.engelbrecht
#rnx
#preflight 63fcb415ef1b24bf94937521

[CL 24422210 by Tim Smith in ue5-main branch]
2023-02-27 08:55:38 -05:00
Ben Marsh
b6f9841927 EpicGames.Core: Add missing equality and comparison operators causing static analysis warnings.
#preflight none

[CL 24411440 by Ben Marsh in ue5-main branch]
2023-02-24 18:12:33 -05:00
Ben Marsh
dcda73f48a Horde: Add a service to allow tunneling connections through the Horde server. Accepts incoming connections on two ports and matches them up via a cryptographic unique id. Designed for use by compute service, where client machines may not accept incoming connections.
#preflight none

[CL 24411094 by Ben Marsh in ue5-main branch]
2023-02-24 17:55:04 -05:00
Ben Marsh
0146eb14d0 EpicGames.Core: Fix NET 3.1 compilation of ByteString struct.
#preflight none

[CL 24405723 by Ben Marsh in ue5-main branch]
2023-02-24 14:12:54 -05:00
Ben Marsh
164452fbac EpicGames.Core: Add a utility class for manipulating byte strings, allowing value-like comparison for equality and sorting.
#preflight none

[CL 24401948 by Ben Marsh in ue5-main branch]
2023-02-24 11:24:11 -05:00
christopher waters
be08ba0dae Adding List<> extension method "AddAll(...)" that can replace "AddRange(new string[] { ... })"
#rb joe.kirchoff

[CL 24372005 by christopher waters in ue5-main branch]
2023-02-22 18:02:04 -05:00
joe kirchoff
a6bf4498ef EpicGames.Core: Backout ManagedProcess.cs, did not intend to submit it
#rnx
#rb trivial
#preflight 63ed7177b96a6b2718d11bc3

[CL 24247586 by joe kirchoff in ue5-main branch]
2023-02-15 19:05:29 -05:00
Joe Kirchoff
3f8dfd7a85 UnrealBuildTool: Split base ProjectFiles classes into their own .cs files
#rnx
#rb trivial
#preflight 63ed6d967d2ec3d2fd6954b2

[CL 24247118 by Joe Kirchoff in ue5-main branch]
2023-02-15 18:49:24 -05:00
Joe Kirchoff
158c9b42ff Fix static analysis warning
#rnx
#rb trivial
#preflight skipped

[CL 24222229 by Joe Kirchoff in ue5-main branch]
2023-02-14 17:38:00 -05:00
Josh Adams
0f1dbb1c49 - Added MarkUsed flag to CommandLineAttribute
- Fixed up how UnrealArchitectureConfig classes have commandline applied
- Proper fix for UE-176691
#jira UE-176691
#rb joe.kirchoff
#preflight 63ebd379514832b2425b83c2

[CL 24217163 by Josh Adams in ue5-main branch]
2023-02-14 13:57:08 -05:00
Ben Marsh
264acba495 Minor static analyzer fixes.
#preflight none

[CL 24211101 by Ben Marsh in ue5-main branch]
2023-02-14 10:27:26 -05:00
joe kirchoff
c871f99146 UnrealBuildTool: Special case -define: command line args to not remove quotes if only the value is quoted
#rnx
#rb trivial

[CL 24201103 by joe kirchoff in ue5-main branch]
2023-02-13 22:01:57 -05:00
joe kirchoff
ec3ce436b7 [Backout] - CL24182840
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
EpicGames.Core: Use .NET function to split reprocessed command line args, rather than doing so manually, so results match how the system processes quotes

#rnx
#rb Henrik.Karlsson

[CL 24200211 by joe kirchoff in ue5-main branch]
2023-02-13 21:22:27 -05:00
joe kirchoff
01b50e0396 EpicGames.Core: Use .NET function to split reprocessed command line args, rather than doing so manually, so results match how the system processes quotes
#rnx
#rb Henrik.Karlsson

[CL 24197457 by joe kirchoff in ue5-main branch]
2023-02-13 20:09:06 -05:00
Ben Marsh
88b4da87d9 UGS: Create a global mutex when updating a workspace, ensuring that only one application is updating it at a time.
#preflight none

[CL 24079775 by Ben Marsh in ue5-main branch]
2023-02-08 14:46:44 -05:00
Joe Kirchoff
883c27ea6e UnrealBuildTool: Fix .NET project generation for .net5. UDN suggestion
#rnx
#rb none
#preflight 63d45e8abe1970f882511627

[CL 23894768 by Joe Kirchoff in ue5-main branch]
2023-01-27 18:33:45 -05:00
Ben Marsh
3b0b980d9a Horde: Add command for generating markdown documentation from config file JSON schemas.
#preflight none

[CL 23883952 by Ben Marsh in ue5-main branch]
2023-01-27 11:03:23 -05:00
Ben Marsh
2056e848f6 EpicGames.Core: Fix exception parsing null properties from log events.
#preflight none

[CL 23852849 by Ben Marsh in ue5-main branch]
2023-01-25 14:03:30 -05:00
Ben Marsh
67757a776c Horde: Faster path for constructing LogEvents from JsonLogEvents (also preserves timestamp in original message).
#fyi Daniel.Lamb
#preflight none

[CL 23840371 by Ben Marsh in ue5-main branch]
2023-01-24 17:39:31 -05:00
Ben Marsh
49ec1737b2 Horde: Fix static analyzer warning.
#preflight none

[CL 23835352 by Ben Marsh in ue5-main branch]
2023-01-24 14:10:29 -05:00
Ben Marsh
a48f1ff23a Horde: Support treating a JsonLogEvent like any other state object passed into ILogger (support enumeration of properties, etc...).
#preflight none

[CL 23833034 by Ben Marsh in ue5-main branch]
2023-01-24 12:27:02 -05:00
Jerome Delattre
4555fe9325 Gauntlet - fix inconsistent failure between desktop platforms
+ Add support for AddressSanitizer callstack capture in Unreal log parser

#jira UE-167962
#preflight 63cb119c976daa618cef7a35
#rb Brandon.Schaefer,Johnstone.Baumgartner
#rnx

[CL 23832468 by Jerome Delattre in ue5-main branch]
2023-01-24 12:06:09 -05:00