public byte[] EncodeMessage<T>(T message) { if (message == null) throw new CannotSerializeMessageException("The message which is to be serialized cannot be null."); var raw = ProtocolBuffersConvert.SerializeObject<T>(message); if (CompressionEnabled) { return GZipCompression.Compress(raw); } else { return raw; } }
public T DecodeMessage <T>(byte[] data, int dataOffset, int dataLength) { if (data == null) { throw new CannotDeserializeMessageException("The data which is to be deserialized cannot be null."); } if (CompressionEnabled) { return(ProtocolBuffersConvert.DeserializeObject <T>(GZipCompression.Decompress(data, dataOffset, dataLength))); } else { return(ProtocolBuffersConvert.DeserializeObject <T>(data, dataOffset, dataLength)); } }