using System.IO.Compression; namespace NATS.Server.Routes; public static class RouteCompressionCodec { public static byte[] Compress(ReadOnlySpan payload) { using var output = new MemoryStream(); using (var stream = new DeflateStream(output, CompressionLevel.Fastest, leaveOpen: true)) { stream.Write(payload); } return output.ToArray(); } public static byte[] Decompress(ReadOnlySpan payload) { using var input = new MemoryStream(payload.ToArray()); using var stream = new DeflateStream(input, CompressionMode.Decompress); using var output = new MemoryStream(); stream.CopyTo(output); return output.ToArray(); } }