public void Write(PacketSize value, IMsgPackWriter writer) { writer.Write(DataTypes.UInt32); var binary = new UIntBinary(value.Value); byte[] bytes; if (BitConverter.IsLittleEndian) { bytes = new[] { binary.byte3, binary.byte2, binary.byte1, binary.byte0 }; } else { bytes = new[] { binary.byte0, binary.byte1, binary.byte2, binary.byte3, }; } writer.Write(bytes); }
public PacketSize Read(IMsgPackReader reader) { var type = reader.ReadDataType(); if (type != DataTypes.UInt32) { throw ExceptionHelper.UnexpectedDataType(DataTypes.UInt32, type); } var allbytes = reader.ReadBytes(4); var uintValue = new UIntBinary(allbytes); return(new PacketSize(uintValue.value)); }