Jagger
 All Classes Namespaces Files Functions Variables Enumerator Groups Pages
Iterator<Pair<Q, E> > com.griddynamics.jagger.invoker.RandomLoadBalancer< Q, E >.provide ( )

Returns an iterator over pairs.

Details:

Returns an iterator over pairs, which were created by pairSupplierFactory

Returns
iterator over pairs

Implements com.griddynamics.jagger.invoker.LoadBalancer< Q, E >.

Definition at line 60 of file RandomLoadBalancer.java.

60  {
61 
62  return new AbstractIterator<Pair<Q,E>>() {
63 
64  private PairSupplier<Q, E> pairs = getPairSupplier();
65  private int size = pairs.size();
66  private Random random = new Random(randomSeed.getAndIncrement());
67 
68  @Override
69  protected Pair<Q, E> computeNext() {
70  return pairs.get(random.nextInt(size));
71  }
72 
73  @Override
74  public String toString() {
75  return "RandomLoadBalancer iterator";
76  }
77  };
78  }