package eu.codearte.resteeth.endpoint;
import java.net.URL;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @author Jakub Kubrynski
*/
class RoundRobinEndpoint implements EndpointProvider {
private final URL[] endpointUrls;
private final AtomicInteger counter = new AtomicInteger();
RoundRobinEndpoint(URL[] endpointUrls) {
this.endpointUrls = endpointUrls;
}
@Override
public URL getEndpoint() {
return endpointUrls[Math.abs(counter.getAndIncrement()) % endpointUrls.length];
}
@Override
public String toString() {
return Arrays.toString(endpointUrls);
}
}