public LoadBalancerCommand(ILoadBalancer loadBalancer, IServerStatusCollector collector, IRetryHandler retryHandler, Server server) { RetryHandler = retryHandler; LoadBalancer = loadBalancer; Collector = collector ?? new DefaultServerStatusCollector(); _server = server; }
public DefaultServerWeightAccumulater(IServerStatusCollector collector, int serverWeightTaskTimerInterval = 30 * 1000) { _collector = collector ?? throw new ArgumentNullException(nameof(collector)); _weightsLock = new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion); _timeoutTimer = new HashedWheelEvictionTimer(Utils.Timer); _timeoutTimer.Schedule(Accumulate, TimeSpan.FromMilliseconds(serverWeightTaskTimerInterval)); Accumulate(); }
public AvailabilityFilter(IServerStatusCollector collector) { _collector = collector; }
public AvailabilityFilteringRule(IServerStatusCollector collector) : base(new AvailabilityFilter(collector)) { }
public BestAvailableRule(IServerStatusCollector collector) { _collector = collector; }