protected override void Encode(IChannelHandlerContext context, BigInteger message, List <object> output) { context.NotNull(nameof(context)); output.NotNull(nameof(output)); var buffer = context.Allocator.Buffer(); //https://msdn.microsoft.com/en-us/library/system.numerics.biginteger.tobytearray(v=vs.110).aspx //BigInteger.ToByteArray() return a Little-Endian bytes //IByteBuffer is Big-Endian by default var data = message.ToByteArray(); buffer.WriteByte((byte)'F'); buffer.WriteInt(data.Length); buffer.WriteBytes(data); output.Add(buffer); }