Commit Graph

77 Commits

Author SHA1 Message Date
Ben Marsh
c80dcd77cb Fix UBT/UAT building on Windows ARM64.
#preflight 6477562f4b0d5a1eb1411fa1

[CL 25701794 by Ben Marsh in ue5-main branch]
2023-05-31 10:31:38 -04:00
Joakim Lindqvist
09c59bec33 Fixed inconsistencies between CbPackage serialization in C# and from Zen, these now write the same format. Resolves issues when using CbPackage during cook against Unreal Cloud DDC.
#preflight none

[CL 24589690 by Joakim Lindqvist in ue5-main branch]
2023-03-10 06:59:02 -05:00
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
f69c510598 EpicGames.Serialization: Fix writing of CB fields at the root of the output object.
* CbWriter was expecting BeginObject/BeginArray call before any fields were written, so did not handle writing fields directly to the root scope.
* Fields written at the root scope were not being flushed immediately after writing. Rest of the class assumes that any complete fields at root scope had already been accounted for in object size.

#preflight none
#fyi Joakim.Lindqvist

[CL 24520927 by Ben Marsh in ue5-main branch]
2023-03-06 09:00:40 -05:00
Ben Marsh
6fac200317 EpicGames.Serialization: Refactoring CbWriter.
* New base class (CbWriterBase) has a virtual method to allocate chunks of memory for output, while still sharing common functionality for tracking scope state.
* Data for fixing up size/offset fields is written to blocks of memory returned by the CbWriterBase allocator rather than just to the final output buffer.
* Added support for embedded externally allocated blocks of data into the output stream, correctly updating size fields of containing fields.

#preflight none
#fyi Joakim.Lindqvist

[CL 24505997 by Ben Marsh in ue5-main branch]
2023-03-03 15:37:45 -05:00
Ben Marsh
e1b1f8dbe1 Horde: CI warning fixes.
#preflight none

[CL 24375139 by Ben Marsh in ue5-main branch]
2023-02-22 21:49:01 -05:00
Ben Marsh
ea191aeda1 Horde: Rework C++ remote execution to use direct connection to initiator.
#preflight none

[CL 24372198 by Ben Marsh in ue5-main branch]
2023-02-22 18:07:45 -05:00
Ben Marsh
ad0ec47532 EpicGames.Serialization: Refactor CbWriter to be an interface with extension methods, to make it easier to iterate on less allocation-heavy methods for piecing together CB objects.
#preflight none

[CL 24365307 by Ben Marsh in ue5-main branch]
2023-02-22 13:35:58 -05:00
Ben Marsh
cf1e2acf33 Horde: Fix debugger display of CbAttachment objects.
#preflight none

[CL 24307664 by Ben Marsh in ue5-main branch]
2023-02-19 12:06:06 -05:00
Ben Marsh
3f355c04d5 UAT: Revert changes to PDB generation on ARM64 until CI errors can be fixed.
#preflight none

[CL 23179836 by Ben Marsh in ue5-main branch]
2022-11-17 13:42:19 -05:00
Ben Marsh
39cea381f3 UAT: Disable PDB generation on win-arm64. This is a known issue in NET 6 (https://github.com/dotnet/roslyn/issues/59421).
#preflight none

[CL 23179342 by Ben Marsh in ue5-main branch]
2022-11-17 13:07:09 -05:00
Ben Marsh
39c3634a64 EpicGames.Serialization: Fix static analysis warnings.
#preflight none

[CL 22315522 by Ben Marsh in ue5-main branch]
2022-10-03 17:36:19 -04:00
Ben Marsh
523e314999 Upgrade shared C# projects to NET 6.
#preflight 63373455a852bd922c5364c5

[CL 22301764 by Ben Marsh in ue5-main branch]
2022-10-03 09:44:33 -04:00
Ben Marsh
e66c8c6a58 EpicGames.Serialization: Fix warnings compiling against NET 6 SDK.
#preflight none

[CL 22274746 by Ben Marsh in ue5-main branch]
2022-09-30 13:44:31 -04:00
Ben Marsh
d769555c4a Add Analyze configuration to EpicGames.Serialization.
#preflight none

[CL 21007076 by Ben Marsh in ue5-main branch]
2022-07-08 10:44:44 -04:00
Joakim Lindqvist
6c0afc1fcb CbPackage - Fixed up some warnings in the C# CbPackage code, reducing access scope on things that should be private
Also fixed up inconsistent whitespace.

#jira UE-158872
#preflight https://horde.devtools.epicgames.com/job/62c80bc6f671e8d2fac950f7

[CL 21004958 by Joakim Lindqvist in ue5-main branch]
2022-07-08 07:04:41 -04:00
Ben Marsh
3259d15ff7 Fix missing XML documentation
#preflight none

[CL 20967443 by Ben Marsh in ue5-main branch]
2022-07-06 11:11:48 -04:00
Joakim Lindqvist
c8798de32a C# implementation of CompactBinaryPackage (cbpkg)
#rb carl.bystrom
#preflight none

[CL 20964277 by Joakim Lindqvist in ue5-main branch]
2022-07-06 06:02:07 -04:00
Ben Marsh
cbd0f5ea19 Add a common interface for reading/writing to memory (IMemoryReader/IMemoryWriter), which is implemented by the legacy MemoryReader/MemoryWriter classes as well as the newer ByteArrayBuilder.
Also moves VarInt into EpicGames.Core.
#preflight 62bb5e3efd06251187efd3d7

[CL 20863839 by Ben Marsh in ue5-main branch]
2022-06-28 16:14:51 -04:00
Ben Marsh
ee74342948 Add extension methods to serialize VarInt values to ByteArrayBuilders.
#preflight none

[CL 20809848 by Ben Marsh in ue5-main branch]
2022-06-24 11:24:01 -04:00
Ben Marsh
fe2c895552 Add build steps for static analysis of UBT and UAT, and to test project file generation.
#preflight 62b37e6ad76167320e3a224d

[CL 20781813 by Ben Marsh in ue5-main branch]
2022-06-22 17:12:30 -04:00
Ben Marsh
27ff743762 Fix xmldoc warnings in EpicGames.Serialization.
#preflight none

[CL 20777344 by Ben Marsh in ue5-main branch]
2022-06-22 13:31:00 -04:00
Ben Marsh
a11561ae5f Support for serializing signed and unsigned VarInt types from C#.
#preflight 62b1f6898e03312ad86e0757

[CL 20760159 by Ben Marsh in ue5-main branch]
2022-06-21 13:00:33 -04:00
Ben Marsh
12a0d5010f EpicGames.Serialization: Support deserializing into getter-only collection properties.
#preflight none

[CL 20252879 by Ben Marsh in ue5-main branch]
2022-05-17 18:36:34 -04:00
Ben Marsh
7dae34d929 Horde: Missing file.
#preflight none

[CL 19637007 by Ben Marsh in ue5-main branch]
2022-04-05 20:25:41 -04:00