public SnmpTrafficRateService( ISnmpTrafficQuery trafficQuery, decimal pollIntervalSeconds, ILoggerFactory loggerFactory) : this( trafficQuery, pollIntervalSeconds, SystemTimeProvider.Instance, loggerFactory, Task.Delay) { }
internal SnmpTrafficRateService( ISnmpTrafficQuery trafficQuery, decimal pollIntervalSeconds, ITimeProvider timeProvider, ILoggerFactory loggerFactory, Func <TimeSpan, CancellationToken, Task> delayTaskFactory) : base( TimeSpan.FromSeconds((double)pollIntervalSeconds), timeProvider, loggerFactory, delayTaskFactory) { this._trafficQuery = trafficQuery ?? throw new ArgumentNullException(nameof(trafficQuery)); this._downloadRateFilter = new SnmpTrafficRateValueFilter(pollIntervalSeconds); this._uploadRateFilter = new SnmpTrafficRateValueFilter(pollIntervalSeconds); }