package hudson.plugins.xvnc;
import java.util.Set;
import java.util.HashSet;
/**
* Manages the display numbers in use.
*
* @author Kohsuke Kawaguchi
*/
final class DisplayAllocator {
/**
* Display numbers in use.
*/
private final Set<Integer> numbers = new HashSet<Integer>();
public synchronized int allocate(int baseDisplayNumber) {
int i = baseDisplayNumber;
while(numbers.contains(i))
i++;
numbers.add(i);
return i;
}
public synchronized void free(int n) {
numbers.remove(n);
}
}