2) Added the ability to directly set the IoHash in the file hasher
3) Modified the ComputeAsync hash method to provide a file size hint so it can default to a larger buffer size to improve performance.
4) Modified the ComputeAsync hash method to use the double buffer reader above.
#rb ben.marsh
#preflight 6438493a5a07ef375761ee35
[CL 25030313 by Tim Smith in ue5-main branch]
Fixed some potential issues where the parent or span id wasn't what was expected.
#preflight 642ce19c6a37fb35e963b474
[CL 24926420 by bryan sefcik in ue5-main branch]
* Added trace level debug output for sockets and channels, which display the contents of messages sent and received.
* Merged reader functionality with IComputeMessage.
* Separated the lease and socket classes. Sockets are now constructed for each end of the connection, whereas leases only exist at the initiating end.
* Added an exception message type, for reporting errors back to the initiator.
* Separated commands into more fundamental building blocks; upload files, execute process, delete files, etc...
* Added support for attaching buffers from child processes.
* Removed cpp compute node types.
#preflight none
[CL 24738133 by Ben Marsh in ue5-main branch]
* Previous code was adding a Serilog provider to the Microsoft logger, causing settings for both Microsoft's logging framework and Serilogs settings to apply. This was problematic for filtering, because each system imposes it's own minimum output level.
* Now constructs a single Serilog logger factory using settings read from config files.
* Moved all channel verbosity overrides into config files.
#preflight none
[CL 24733223 by Ben Marsh in ue5-main branch]