Faster cbor serialization with caching

This commit is contained in:
micialware committed 2025-07-03 18:13:02 +03:00
1 parent b27dfa0b0a
commit faf73e7798
10 files changed
+41 -16

No files matched your search

@@ -192,13 +192,10 @@ namespace mROA.Implementation
public async Task SingleReceive(CancellationToken token = default)
{
Console.WriteLine($"Receive start. Time: {profiler.ElapsedMilliseconds}ms");
var len = await ReadMessageLength();
Console.WriteLine($"Received len {len}. Time: {profiler.ElapsedMilliseconds}ms");
var localSpan = _buffer[..len];
await _ioStream.ReadExactlyAsync(localSpan, cancellationToken: token);
Console.WriteLine($"Received. Time: {profiler.ElapsedMilliseconds}ms");
profiler.Restart();
var message = _serializationToolkit.Deserialize<NetworkMessageHeader>(localSpan, _context);
MessageReceived(message);
@@ -218,10 +215,8 @@ namespace mROA.Implementation
var len = _serializationToolkit.Serialize(message, bodySpan.Span, _context);
var header = BitConverter.GetBytes((ushort)len);
header.CopyTo(_buffer);
Console.WriteLine($"Send start. Time: {profiler.ElapsedMilliseconds}ms");
var sendingSpan = _buffer[..(len + 2)];
await _ioStream.WriteAsync(sendingSpan, token);
Console.WriteLine($"Send. Time: {profiler.ElapsedMilliseconds}ms");
profiler.Restart();
}