public override void Serialize(PlaceOrderMessage message, UnsafeBinaryWriter binaryWriter) { binaryWriter.Write(_version); binaryWriter.Write(message.Id); binaryWriter.Write(message.InstrumentId); binaryWriter.Write(message.Price); binaryWriter.Write(message.Quantity); binaryWriter.Write((byte)message.Side); binaryWriter.Write(message.val0); binaryWriter.Write(message.val1); binaryWriter.Write(message.val2); binaryWriter.Write(message.val3); binaryWriter.Write(message.val4); binaryWriter.Write(message.val5); binaryWriter.Write(message.val6); binaryWriter.Write(message.val7); binaryWriter.Write(message.val8); binaryWriter.Write(message.val9); binaryWriter.Write(message.val11); binaryWriter.Write(message.val12); binaryWriter.Write(message.val13); binaryWriter.Write(message.val14); binaryWriter.Write(message.val15); }
private void CreateContext(Encoding encoding, int bufferSegmentSize, int bufferSegmentCount = 512) { _segmentProvider = new BufferSegmentProvider(bufferSegmentCount, bufferSegmentSize); _writer = new UnsafeBinaryWriter(encoding); _writer.SetBufferSegmentProvider(_segmentProvider); _reader = _segmentProvider.GetBinaryReader(encoding); }
public override void Serialize(PlaceOrderMessage message, UnsafeBinaryWriter binaryWriter) { binaryWriter.Write(_version); binaryWriter.Write(message.Id); binaryWriter.Write(message.InstrumentId); binaryWriter.Write(message.Price); binaryWriter.Write(message.Quantity); binaryWriter.Write((byte)message.Side); }
void IBinaryMessageSerializer.Serialize(object message, UnsafeBinaryWriter binaryWriter) { Serialize((T)message, binaryWriter); }
public abstract void Serialize(T message, UnsafeBinaryWriter binaryWriter);
public override void Serialize(Pong message, UnsafeBinaryWriter binaryWriter) { binaryWriter.Write(message.PingId); }
public void SerializeWithLengthPrefix(object message, IMessageBufferSegmentProvider segmentProvider, UnsafeBinaryWriter binaryWriter) { var messageType = message.GetType(); var serializationEngine = _messageEnginesByType[messageType]; binaryWriter.SetBufferSegmentProvider(segmentProvider); var lengthPrefixPosition = binaryWriter.GetPosition(); binaryWriter.Write(0); // length prefix binaryWriter.Write((uint)serializationEngine.MessageTypeId); serializationEngine.Serializer.Serialize(message, binaryWriter); var messageLength = (int)binaryWriter.GetLength(); binaryWriter.SetPosition(lengthPrefixPosition); binaryWriter.Write(messageLength - sizeof(int)); segmentProvider.SetMessageLength(messageLength); }
public SendingContext(ISessionConfiguration configuration, RioBufferManager sendingBufferManager, Encoding encoding) { SendingBufferProvider = new SendingBufferProvider(configuration, sendingBufferManager); BinaryWriter = new UnsafeBinaryWriter(encoding); }
public override void Serialize(OrderAckMessage message, UnsafeBinaryWriter binaryWriter) { binaryWriter.Write(_version); binaryWriter.Write(message.Id); }