private byte[] Encode(Header header, TBase message) { byte[] headerBytes = ThriftSerialize.Serialize(header); byte[] messageBytes = ThriftSerialize.Serialize(message); ByteBuffer buffer = ByteBuffer.Allocate(512); buffer.WriteInt(ThriftMessageHelper.GetMessageId(message)); buffer.WriteInt(headerBytes.Length); buffer.WriteBytes(headerBytes); buffer.WriteInt(messageBytes.Length); buffer.WriteBytes(messageBytes); return(buffer.ToArray()); }
public void Encode(ByteBuffer buffer, object value) { byte[] byteBuf = (byte[])value; buffer.WriteInt(byteBuf.Length); buffer.WriteBytes(byteBuf); }