protected OrderBooksHarvesterBase(string exchangeName, IExchangeConfiguration exchangeConfiguration, ILog log, IHandler <OrderBook> newOrderBookHandler) { ExchangeConfiguration = exchangeConfiguration; _newOrderBookHandler = newOrderBookHandler; ExchangeName = exchangeName; Log = log.CreateComponentScope(GetType().Name); _converters = new ExchangeConverters(exchangeConfiguration.SupportedCurrencySymbols, string.Empty, exchangeConfiguration.UseSupportedCurrencySymbolsAsFilter); _orderBookSnapshots = new ConcurrentDictionary <string, OrderBookSnapshot>(); _cancellationTokenSource = new CancellationTokenSource(); CancellationToken = _cancellationTokenSource.Token; _heartBeatMonitoringTimer = new Timer(s => RestartMessenger("No messages from the exchange")); _snapshotRefreshTimer = new Timer(s => RestartMessenger("Refresh order book snapshot")); }
protected OrderBooksHarvesterBase(string exchangeName, IExchangeConfiguration exchangeConfiguration, ILog log, OrderBookSnapshotsRepository orderBookSnapshotsRepository, OrderBookEventsRepository orderBookEventsRepository, IHandler <OrderBook> newOrderBookHandler) { ExchangeConfiguration = exchangeConfiguration; OrderBookSnapshotsRepository = orderBookSnapshotsRepository; OrderBookEventsRepository = orderBookEventsRepository; _newOrderBookHandler = newOrderBookHandler; ExchangeName = exchangeName; Log = log.CreateComponentScope(GetType().Name); _converters = new ExchangeConverters(exchangeConfiguration.SupportedCurrencySymbols, string.Empty); _orderBookSnapshots = new ConcurrentDictionary <string, OrderBookSnapshot>(); _cancellationTokenSource = new CancellationTokenSource(); CancellationToken = _cancellationTokenSource.Token; _heartBeatMonitoringTimer = new Timer(RestartMessenger); }