public RemainingWorkEstimatorCore( DocumentServiceLeaseContainer leaseContainer, Func <string, string, bool, FeedIterator> feedCreator, int degreeOfParallelism) { if (leaseContainer == null) { throw new ArgumentNullException(nameof(leaseContainer)); } if (feedCreator == null) { throw new ArgumentNullException(nameof(feedCreator)); } if (degreeOfParallelism < 1) { throw new ArgumentOutOfRangeException("Degree of parallelism is out of range", nameof(degreeOfParallelism)); } this.leaseContainer = leaseContainer; this.feedCreator = feedCreator; this.degreeOfParallelism = degreeOfParallelism; }
public PartitionLoadBalancerCore( PartitionController partitionController, DocumentServiceLeaseContainer leaseContainer, LoadBalancingStrategy partitionLoadBalancingStrategy, TimeSpan leaseAcquireInterval) { if (partitionController == null) { throw new ArgumentNullException(nameof(partitionController)); } if (leaseContainer == null) { throw new ArgumentNullException(nameof(leaseContainer)); } if (partitionLoadBalancingStrategy == null) { throw new ArgumentNullException(nameof(partitionLoadBalancingStrategy)); } this.partitionController = partitionController; this.leaseContainer = leaseContainer; this.partitionLoadBalancingStrategy = partitionLoadBalancingStrategy; this.leaseAcquireInterval = leaseAcquireInterval; }