public override void Write(BinaryWriter writer, object obj) { Level2 level = (Level2)obj; writer.Write(0); writer.Write(level.dateTime.ToBinary()); writer.Write(level.providerId); writer.Write(level.instrumentId); writer.Write(level.price); writer.Write(level.size); writer.Write((byte)level.side); writer.Write((byte)level.action); writer.Write(level.position); }
public override object Read(BinaryReader reader) { Level2 level = new Level2(); reader.ReadByte(); level.dateTime = DateTime.FromBinary(reader.ReadInt64()); level.providerId = reader.ReadByte(); level.instrumentId = reader.ReadInt32(); level.price = reader.ReadDouble(); level.size = reader.ReadInt32(); level.side = (Level2Side)reader.ReadByte(); level.action = (Level2UpdateAction)reader.ReadByte(); level.position = reader.ReadInt32(); return level; }
public override void Write(BinaryWriter writer, object obj) { Level2Update level2Update = (Level2Update)obj; writer.Write(0); writer.Write(level2Update.dateTime.ToBinary()); writer.Write(level2Update.providerId); writer.Write(level2Update.instrumentId); writer.Write(level2Update.entries.Length); Level2[] entries = level2Update.entries; for (int i = 0; i < entries.Length; i++) { Level2 obj2 = entries[i]; this.streamerManager.Serialize(writer, obj2); } }
internal void Set(Level2Update update) { Level2[] entries = update.entries; for (int i = 0; i < entries.Length; i++) { Level2 level = entries[i]; IList <Tick> list = null; switch (level.side) { case Level2Side.Bid: list = this.bids; break; case Level2Side.Ask: list = this.asks; break; } switch (level.action) { case Level2UpdateAction.New: list.Insert(level.position, new Tick(level)); break; case Level2UpdateAction.Change: list[level.position].size = level.size; break; case Level2UpdateAction.Delete: list.RemoveAt(level.position); break; case Level2UpdateAction.Reset: list.Clear(); break; } } }
public Level2Update(DateTime dateTime, byte providerId, int instrumentId, Level2[] entries) : base(dateTime) { this.providerId = providerId; this.instrumentId = instrumentId; this.entries = entries; }