Advertisement
Hulkstance

Untitled

Jul 8th, 2022
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.76 KB | None | 0 0
  1. // BaseSocketClient.cs
  2. public Func<ReadOnlyMemory<byte>, JsonDocument> JsonDocumentFactory = buffer => JsonDocument.Parse(buffer);
  3.  
  4. private void OnMessageReceived(object? sender, MessageReceivedEventArgs e)
  5. {
  6.     var timestamp = DateTime.UtcNow;
  7.  
  8.     using var document = JsonDocumentFactory(e.Message.Buffer);
  9.  
  10.     ...
  11. }
  12.  
  13. // ApiClient.cs
  14. client.JsonDocumentFactory = DecompressData;
  15.  
  16. private static unsafe JsonDocument DecompressData(ReadOnlyMemory<byte> byteData)
  17. {
  18.     fixed (byte* ptr = byteData.Span)
  19.     {
  20.         using var compressedStream = new UnmanagedMemoryStream(ptr, byteData.Length);
  21.         using var deflateStream = new GZipStream(compressedStream, CompressionMode.Decompress);
  22.         return JsonDocument.Parse(deflateStream);
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement