public void ApplyCapturedEvent(DateTime time) { if (CaptureDataHistory.Items.Count == 0) { return; } while (CaptureDataHistory.CurrentItem != null) { TickerCaptureDataInfo info = CaptureDataHistory.CurrentItem; if (info.Time != time) { return; } if (info.StreamType == CaptureStreamType.OrderBook) { OrderBook.IsDirty = !info.DataValid; } Exchange.ApplyCapturedEvent(this, info); CaptureDataHistory.MoveNext(); } //while(CaptureDataHistory.Items.Count > 0) { // TickerCaptureDataInfo info = CaptureDataHistory.Items[0]; // if(info.Time != time) // return; // Exchange.ApplyCapturedEvent(this, info); // CaptureDataHistory.Items.RemoveAt(0); //} }
protected internal override void ApplyCapturedEvent(Ticker ticker, TickerCaptureDataInfo info) { if (info.StreamType == CaptureStreamType.OrderBook) { OnOrderBookSocketMessageReceived(OrderBookSockets.FirstOrDefault(s => s.Ticker == ticker).Socket, new MessageReceivedEventArgs(info.Message)); } else if (info.StreamType == CaptureStreamType.TradeHistory) { OnTradeHistorySocketMessageReceived(TradeHistorySockets.FirstOrDefault(s => s.Ticker == ticker).Socket, new MessageReceivedEventArgs(info.Message)); } }
protected internal override void ApplyCapturedEvent(Ticker ticker, TickerCaptureDataInfo info) { throw new NotImplementedException(); }