public byte[] Encode(ITranscoder transcoder, bool canCompress, object value) { lock(this) { buffer.Clear(); transcoder.Encode(buffer, value); byte[] bytes = buffer.ToArray(); byte compress = 0; /*if (canCompress && bytes.Length > COMPRESSION_LEN) { using (MemoryStream ms = new MemoryStream()) { using (GZipStream gipStream = new GZipStream(ms, CompressionMode.Compress)) { gipStream.Write(bytes, 0, bytes.Length); } bytes = ms.ToArray(); compress = 1; } }*/ buffer.Clear(); buffer.WriteShort(MAGIC_NUMBER); buffer.WriteByte(compress); buffer.WriteInt(bytes.Length); buffer.WriteBytes(bytes); byte[] newBytes = buffer.ToArray(); return newBytes; } }
public byte[] Encode(ITranscoder transcoder, bool canCompress, object value) { lock (this) { buffer.Clear(); transcoder.Encode(buffer, value); byte[] bytes = buffer.ToArray(); byte compress = 0; /*if (canCompress && bytes.Length > COMPRESSION_LEN) * { * using (MemoryStream ms = new MemoryStream()) * { * using (GZipStream gipStream = new GZipStream(ms, CompressionMode.Compress)) * { * gipStream.Write(bytes, 0, bytes.Length); * } * bytes = ms.ToArray(); * compress = 1; * } * }*/ buffer.Clear(); buffer.WriteShort(MAGIC_NUMBER); buffer.WriteByte(compress); buffer.WriteInt(bytes.Length); buffer.WriteBytes(bytes); byte[] newBytes = buffer.ToArray(); return(newBytes); } }