// /// <summary> /// Each fill feed will fire this event before it starts sending its FillBookDownLoad event, /// and then trigger its End event afterword. Also, they seem to fire even when there are no fills. /// Thus, I keep track of them and check them off. /// </summary> private void TT_FillListStart(object sender, TradingTechnologies.TTAPI.FillListEventArgs eventArgs) { if (!m_DownloadFeeds.Contains(eventArgs.FeedConnectionKey)) { m_FillDownloadsInProgress++; if (Log != null) { Log.NewEntry(LogLevel.Minor, "FillListener.FillListStart: {0} historic download started. {1}", Name, eventArgs.FeedConnectionKey); } m_DownloadFeeds.Add(eventArgs.FeedConnectionKey); if (IsFillDownloadComplete) { OnStatusChanged(new StatusChangedEventArgs(Status.DownLoadingStarted)); } } }
private void TT_FillListEnd(object sender, TradingTechnologies.TTAPI.FillListEventArgs eventArgs) { if (m_DownloadFeeds.Contains(eventArgs.FeedConnectionKey)) { m_DownloadFeeds.Remove(eventArgs.FeedConnectionKey); m_FillDownloadsInProgress--; if (Log != null) { Log.NewEntry(LogLevel.Minor, "FillListener.FillListEnd: {0} {1}. Historic download complete. Remaining downloads {2}", Name, eventArgs.FeedConnectionKey, m_FillDownloadsInProgress); } if (IsFillDownloadComplete) { StatusChangedEventArgs newEventArg = new StatusChangedEventArgs(Status.DownLoadsCompleted); List <FillEventArgs> fillList = new List <FillEventArgs>(m_HistoricFills.Count); fillList.AddRange(m_HistoricFills); m_HistoricFills.Clear(); // clear our copy of fills newEventArg.Data = fillList; OnStatusChanged(newEventArg); } } }