public IShardStrategy NewShardStrategy(IEnumerable <ShardId> shardIds) { var loadBalancer = new RoundRobinShardLoadBalancer(shardIds); var pss = new FirmShardSelectionStrategy(loadBalancer); IShardResolutionStrategy prs = new AllShardsShardResolutionStrategy(shardIds); IShardAccessStrategy pas = new SequentialShardAccessStrategy(); return(new ShardStrategyImpl(pss, prs, pas)); }
public IShardStrategy NewShardStrategy(IEnumerable <ShardId> shardIds) { var loadBalancer = new RoundRobinShardLoadBalancer(shardIds); return(new ShardStrategyImpl( new RoundRobinShardSelectionStrategy(loadBalancer), new AllShardsShardResolutionStrategy(shardIds), new ParallelShardAccessStrategy())); }
public void TestBalancer() { List <ShardId> shardIds = new List <ShardId> { new ShardId(1), new ShardId(2) }; RoundRobinShardLoadBalancer balancer = new RoundRobinShardLoadBalancer(shardIds); Assert.AreEqual(1, balancer.NextShardId.Id); Assert.AreEqual(2, balancer.NextShardId.Id); Assert.AreEqual(1, balancer.NextShardId.Id); }
public FirmShardSelectionStrategy(RoundRobinShardLoadBalancer loadBalancer) { this.loadBalancer = loadBalancer; this.firms = FirmDefinitionHelper.Firms; }
public RoundRobinShardSelectionStrategy(RoundRobinShardLoadBalancer shardLoadBalancer) : base(shardLoadBalancer) { }