public Frame Process(Frame frame) { byte[] data; MemoryStream memoryStream = null; try { memoryStream = new MemoryStream(); using (var stream = new GZipStream(memoryStream, CompressionMode.Compress)) { stream.Write(frame.Data, 0, frame.Data.Length); } data = memoryStream.ToArray(); } finally { memoryStream?.Dispose(); } var header = new FrameHeader(frame.Header.HeaderId, frame.Header.Id, frame.Header.Position, data.Length); return(new Frame(header, data)); }
public Frame(FrameHeader header, byte[] buf) { Header = header; Data = buf; }