Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // BaseSocketClient.cs
- public Func<ReadOnlyMemory<byte>, JsonDocument> JsonDocumentFactory = buffer => JsonDocument.Parse(buffer);
- private void OnMessageReceived(object? sender, MessageReceivedEventArgs e)
- {
- var timestamp = DateTime.UtcNow;
- using var document = JsonDocumentFactory(e.Message.Buffer);
- ...
- }
- // ApiClient.cs
- client.JsonDocumentFactory = DecompressData;
- private static unsafe JsonDocument DecompressData(ReadOnlyMemory<byte> byteData)
- {
- fixed (byte* ptr = byteData.Span)
- {
- using var compressedStream = new UnmanagedMemoryStream(ptr, byteData.Length);
- using var deflateStream = new GZipStream(compressedStream, CompressionMode.Decompress);
- return JsonDocument.Parse(deflateStream);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement