Example #1
0
        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);
        }