Returns an iterator over pairs.
- Author
- Grid Dynamics
- Details:
Returns an iterator over pairs, which were created by "One by one" algorithm
- Returns
- iterator over pairs
Implements com.griddynamics.jagger.invoker.LoadBalancer< Q, E >.
Definition at line 58 of file OneByOneLoadBalancer.java.
59 final CircularSupplier<Q> querySupplier = CircularSupplier.create(
queryProvider);
60 final CircularSupplier<E> endpointSupplier = CircularSupplier.create(
endpointProvider);
62 return new Iterator<Pair<Q, E>>() {
64 public boolean hasNext() {
69 public Pair<Q, E> next() {
70 boolean exceeded = endpointSupplier.exceeded();
72 E endpoint = endpointSupplier.pop();
73 Q query = exceeded ? querySupplier.pop() : querySupplier.peek();
75 return Pair.of(query, endpoint);
80 public void remove() {
81 throw new UnsupportedOperationException(
"Read only iterator");
86 return "OneByOneLoadBalancer iterator";