public override void Deserialize(PlaceOrderMessage message, UnsafeBinaryReader binaryReader) { var version = binaryReader.ReadByte(); if (version != _version) { throw new InvalidOperationException($"version mismatch; expected:{_version} received:{version}"); } message.Id = binaryReader.ReadInt64(); message.InstrumentId = binaryReader.ReadInt32(); message.Price = binaryReader.ReadDouble(); message.Quantity = binaryReader.ReadDouble(); message.Side = (OrderSide)binaryReader.ReadByte(); message.val0 = binaryReader.ReadInt64(); message.val1 = binaryReader.ReadInt64(); message.val2 = binaryReader.ReadInt64(); message.val3 = binaryReader.ReadInt64(); message.val4 = binaryReader.ReadInt64(); message.val5 = binaryReader.ReadInt64(); message.val6 = binaryReader.ReadInt64(); message.val7 = binaryReader.ReadInt64(); message.val8 = binaryReader.ReadInt64(); message.val9 = binaryReader.ReadInt64(); message.val11 = binaryReader.ReadInt64(); message.val12 = binaryReader.ReadInt64(); message.val13 = binaryReader.ReadInt64(); message.val14 = binaryReader.ReadInt64(); message.val15 = binaryReader.ReadInt64(); }
public override void Deserialize(OrderAckMessage message, UnsafeBinaryReader binaryReader) { var version = binaryReader.ReadByte(); if (version != _version) { throw new InvalidOperationException($"version mismatch; expected:{_version} received:{version}"); } message.Id = binaryReader.ReadInt64(); }
public void should_read_numeric_values([ValueSource(nameof(GetBufferSegmentSizes))] int bufferSegmentSize) { CreateContext(Encoding.UTF8, bufferSegmentSize); _writer.Write(1); _writer.Write(-1); _writer.Write(int.MaxValue); _writer.Write(int.MinValue); _writer.Write((uint)2); _writer.Write(uint.MaxValue); _writer.Write(uint.MinValue); _writer.Write((short)3); _writer.Write((short)-3); _writer.Write(short.MaxValue); _writer.Write(short.MinValue); _writer.Write((ushort)4); _writer.Write(ushort.MaxValue); _writer.Write(ushort.MinValue); _writer.Write((long)5); _writer.Write((long)-5); _writer.Write(long.MaxValue); _writer.Write(long.MinValue); _writer.Write((ulong)6); _writer.Write(ulong.MaxValue); _writer.Write(ulong.MinValue); _writer.Write((byte)7); _writer.Write(byte.MaxValue); _writer.Write(byte.MinValue); _writer.Write((sbyte)8); _writer.Write((sbyte)-8); _writer.Write(sbyte.MaxValue); _writer.Write(sbyte.MinValue); _writer.Write(true); _writer.Write(false); _writer.Write(2.2f); _writer.Write(-2.2f); _writer.Write(float.MaxValue); _writer.Write(float.MinValue); _writer.Write(3.3d); _writer.Write(-3.3d); _writer.Write(double.MaxValue); _writer.Write(double.MinValue); _writer.Write(4.4m); _writer.Write(-4.4m); _writer.Write(decimal.MaxValue); _writer.Write(decimal.MinValue); _writer.Write(_marker); Assert.AreEqual(1, _reader.ReadInt32()); Assert.AreEqual(-1, _reader.ReadInt32()); Assert.AreEqual(int.MaxValue, _reader.ReadInt32()); Assert.AreEqual(int.MinValue, _reader.ReadInt32()); Assert.AreEqual(2, _reader.ReadUInt32()); Assert.AreEqual(uint.MaxValue, _reader.ReadUInt32()); Assert.AreEqual(uint.MinValue, _reader.ReadUInt32()); Assert.AreEqual(3, _reader.ReadInt16()); Assert.AreEqual(-3, _reader.ReadInt16()); Assert.AreEqual(short.MaxValue, _reader.ReadInt16()); Assert.AreEqual(short.MinValue, _reader.ReadInt16()); Assert.AreEqual(4, _reader.ReadUInt16()); Assert.AreEqual(ushort.MaxValue, _reader.ReadUInt16()); Assert.AreEqual(ushort.MinValue, _reader.ReadUInt16()); Assert.AreEqual(5, _reader.ReadInt64()); Assert.AreEqual(-5, _reader.ReadInt64()); Assert.AreEqual(long.MaxValue, _reader.ReadInt64()); Assert.AreEqual(long.MinValue, _reader.ReadInt64()); Assert.AreEqual(6, _reader.ReadUInt64()); Assert.AreEqual(ulong.MaxValue, _reader.ReadUInt64()); Assert.AreEqual(ulong.MinValue, _reader.ReadUInt64()); Assert.AreEqual(7, _reader.ReadByte()); Assert.AreEqual(byte.MaxValue, _reader.ReadByte()); Assert.AreEqual(byte.MinValue, _reader.ReadByte()); Assert.AreEqual(8, _reader.ReadSByte()); Assert.AreEqual(-8, _reader.ReadSByte()); Assert.AreEqual(sbyte.MaxValue, _reader.ReadSByte()); Assert.AreEqual(sbyte.MinValue, _reader.ReadSByte()); Assert.AreEqual(true, _reader.ReadBoolean()); Assert.AreEqual(false, _reader.ReadBoolean()); Assert.AreEqual(2.2f, _reader.ReadSingle()); Assert.AreEqual(-2.2f, _reader.ReadSingle()); Assert.AreEqual(float.MaxValue, _reader.ReadSingle()); Assert.AreEqual(float.MinValue, _reader.ReadSingle()); Assert.AreEqual(3.3d, _reader.ReadDouble()); Assert.AreEqual(-3.3d, _reader.ReadDouble()); Assert.AreEqual(double.MaxValue, _reader.ReadDouble()); Assert.AreEqual(double.MinValue, _reader.ReadDouble()); Assert.AreEqual(4.4m, _reader.ReadDecimal()); Assert.AreEqual(-4.4m, _reader.ReadDecimal()); Assert.AreEqual(decimal.MaxValue, _reader.ReadDecimal()); Assert.AreEqual(decimal.MinValue, _reader.ReadDecimal()); Assert.AreEqual(_marker, _reader.ReadUInt32()); }