Combine all versions into a single tree
This commit is contained in:
@@ -6,14 +6,34 @@ import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.PriorityBlockingQueue;
|
||||
import java.util.concurrent.BlockingQueue;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class JailingQueue<T> extends PriorityBlockingQueue<T> {
|
||||
private final PriorityBlockingQueue<T> delegate;
|
||||
private final Set<Thread> jailed = new HashSet<Thread>();
|
||||
//#if MC>=10904
|
||||
import java.util.concurrent.PriorityBlockingQueue;
|
||||
//#else
|
||||
//$$ import java.util.AbstractQueue;
|
||||
//#endif
|
||||
|
||||
public class JailingQueue<T>
|
||||
//#if MC>=10904
|
||||
extends PriorityBlockingQueue<T>
|
||||
//#else
|
||||
//$$ extends AbstractQueue<T> implements BlockingQueue<T>
|
||||
//#endif
|
||||
{
|
||||
//#if MC>=10904
|
||||
private final PriorityBlockingQueue<T> delegate;
|
||||
//#else
|
||||
//$$ private final BlockingQueue<T> delegate;
|
||||
//#endif
|
||||
private final Set<Thread> jailed = new HashSet<>();
|
||||
|
||||
//#if MC>=10904
|
||||
public JailingQueue(PriorityBlockingQueue<T> delegate) {
|
||||
//#else
|
||||
//$$ public JailingQueue(BlockingQueue<T> delegate) {
|
||||
//#endif
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@@ -62,13 +82,21 @@ public class JailingQueue<T> extends PriorityBlockingQueue<T> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(T t) {
|
||||
public void put(T t)
|
||||
//#if MC<10904
|
||||
//$$ throws InterruptedException
|
||||
//#endif
|
||||
{
|
||||
tryAccess();
|
||||
delegate.put(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean offer(T t, long timeout, TimeUnit unit) {
|
||||
public boolean offer(T t, long timeout, TimeUnit unit)
|
||||
//#if MC<10904
|
||||
//$$ throws InterruptedException
|
||||
//#endif
|
||||
{
|
||||
tryAccess();
|
||||
return delegate.offer(t, timeout, unit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user