public override void ClientDecode(
     ModbusCommand command,
     ByteArrayReader body)
 {
     ModbusTcpCodec.PopRequestHeader(
         command,
         body);
 }
 public override void ClientEncode(
     ModbusCommand command,
     ByteArrayWriter body)
 {
     ModbusTcpCodec.PushRequestHeader(
         command,
         body);
 }
 public override void ClientDecode(
     ModbusCommand command,
     ByteArrayReader body)
 {
     ModbusTcpCodec.PopDiscretes(
         command,
         body);
 }
        public override void ClientEncode(
            ModbusCommand command,
            ByteArrayWriter body)
        {
            ModbusTcpCodec.PushRequestHeader(
                command,
                body);

            var count = command.Count;

            body.WriteByte((byte)(count * 2));
            for (int i = 0; i < count; i++)
            {
                body.WriteUInt16BE(command.Data[i]);
            }
        }