Example #1
0
        public PartitionLoadBalancer(
            IPartitionController partitionController,
            ILeaseContainer leaseContainer,
            IParitionLoadBalancingStrategy 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;
            this.cancellationTokenSource        = new CancellationTokenSource();
        }
Example #2
0
 public PartitionManager(IBootstrapper bootstrapper, IPartitionController partitionController, IPartitionLoadBalancer partitionLoadBalancer)
 {
     this.bootstrapper          = bootstrapper;
     this.partitionController   = partitionController;
     this.partitionLoadBalancer = partitionLoadBalancer;
 }
 public HealthMonitoringPartitionControllerDecorator(IPartitionController inner, IHealthMonitor monitor)
 {
     this.inner   = inner ?? throw new ArgumentNullException(nameof(inner));
     this.monitor = monitor ?? throw new ArgumentNullException(nameof(monitor));
 }