internal Limiter(int maxCount, TimeSpan interval, ITime time, ILimiterStateLogger stateLogger, string?resourceName = null) { // ToDo: check bounds of maxCount _maxCount = maxCount; _interval = interval; _time = time; _records = new LimitedSizeLinkedList <DateTime>(_maxCount); _resourceName = resourceName ?? ""; _stateLogger = stateLogger; }
// for testing internal Limiter(int maxCount, TimeSpan interval, ILimiterStateLogger stateLogger, string?resourceName = null) : this(maxCount, interval, SystemTime.Instance, stateLogger, resourceName) { }