GitHub Viewer
import java.util.*;
import java.util.concurrent.*;
// Elimination array provides a list of exchangers which
// are picked at random for a given value.
class EliminationArray {
Exchanger[] exchangers;
final long TIMEOUT;
final TimeUnit UNIT;
Random random;
// exchangers: array of exchangers
// TIMEOUT: exchange timeout number
// UNIT: exchange timeout unit
// random: random number generator
@SuppressWarnings("unchecked")
public EliminationArray(int capacity, long timeout, TimeUnit unit) {
exchangers = new Exchanger[capacity];
for (int i=0; i