Ejemplo n.º 1
0
        public Runner(IContractsRegistry contractsRegistry, ILogger logger, IPollerStateRepository stateRepository, SubscriptionPoller poller, IUpConverterFactory upConverterFactory)
        {
            if (poller == null)
            {
                throw new ArgumentNullException(nameof(poller));
            }
            Poller = poller;

            _pollerContext = new PollerContext(contractsRegistry, logger, stateRepository, upConverterFactory);
            _startedAt     = new InterlockedDateTime(DateTime.MaxValue);
            _timeoutCalc   = new PollerTimeoutCalculator(Poller.GetFetchTimeout());
            _runnerTimer   = CreateTimer(_timeoutCalc);
        }