Package net.rubyeye.xmemcached.impl
Class FlowControlLinkedTransferQueue
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- com.google.code.yanf4j.util.LinkedTransferQueue<WriteMessage>
-
- net.rubyeye.xmemcached.impl.FlowControlLinkedTransferQueue
-
- All Implemented Interfaces:
java.lang.Iterable<WriteMessage>,java.util.Collection<WriteMessage>,java.util.concurrent.BlockingQueue<WriteMessage>,java.util.Queue<WriteMessage>
public class FlowControlLinkedTransferQueue extends LinkedTransferQueue<WriteMessage>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.code.yanf4j.util.LinkedTransferQueue
LinkedTransferQueue.PaddedAtomicReference<T>
-
-
Field Summary
Fields Modifier and Type Field Description private FlowControlflowControl
-
Constructor Summary
Constructors Constructor Description FlowControlLinkedTransferQueue(FlowControl flowControl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcheckPermits(WriteMessage e)intdrainTo(java.util.Collection<? super WriteMessage> c)intdrainTo(java.util.Collection<? super WriteMessage> c, int maxElements)intgetWaitingConsumerCount()booleanhasWaitingConsumer()booleanisEmpty()java.util.Iterator<WriteMessage>iterator()booleanoffer(WriteMessage e)booleanoffer(WriteMessage e, long timeout, java.util.concurrent.TimeUnit unit)WriteMessagepeek()WriteMessagepoll()WriteMessagepoll(long timeout, java.util.concurrent.TimeUnit unit)voidput(WriteMessage e)private voidreleasePermit(WriteMessage rt)intremainingCapacity()intsize()Returns the number of elements in this queue.WriteMessagetake()voidtransfer(WriteMessage e)booleantryTransfer(WriteMessage e)booleantryTransfer(WriteMessage e, long timeout, java.util.concurrent.TimeUnit unit)-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
flowControl
private FlowControl flowControl
-
-
Constructor Detail
-
FlowControlLinkedTransferQueue
public FlowControlLinkedTransferQueue(FlowControl flowControl)
-
-
Method Detail
-
checkPermits
private void checkPermits(WriteMessage e)
-
put
public void put(WriteMessage e) throws java.lang.InterruptedException
- Specified by:
putin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
putin classLinkedTransferQueue<WriteMessage>- Throws:
java.lang.InterruptedException
-
offer
public boolean offer(WriteMessage e, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Specified by:
offerin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
offerin classLinkedTransferQueue<WriteMessage>- Throws:
java.lang.InterruptedException
-
offer
public boolean offer(WriteMessage e)
- Specified by:
offerin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Specified by:
offerin interfacejava.util.Queue<WriteMessage>- Overrides:
offerin classLinkedTransferQueue<WriteMessage>
-
transfer
public void transfer(WriteMessage e) throws java.lang.InterruptedException
- Overrides:
transferin classLinkedTransferQueue<WriteMessage>- Throws:
java.lang.InterruptedException
-
tryTransfer
public boolean tryTransfer(WriteMessage e, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Overrides:
tryTransferin classLinkedTransferQueue<WriteMessage>- Throws:
java.lang.InterruptedException
-
tryTransfer
public boolean tryTransfer(WriteMessage e)
- Overrides:
tryTransferin classLinkedTransferQueue<WriteMessage>
-
take
public WriteMessage take() throws java.lang.InterruptedException
- Specified by:
takein interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
takein classLinkedTransferQueue<WriteMessage>- Throws:
java.lang.InterruptedException
-
poll
public WriteMessage poll(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Specified by:
pollin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
pollin classLinkedTransferQueue<WriteMessage>- Throws:
java.lang.InterruptedException
-
poll
public WriteMessage poll()
- Specified by:
pollin interfacejava.util.Queue<WriteMessage>- Overrides:
pollin classLinkedTransferQueue<WriteMessage>
-
releasePermit
private void releasePermit(WriteMessage rt)
-
drainTo
public int drainTo(java.util.Collection<? super WriteMessage> c)
- Specified by:
drainToin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
drainToin classLinkedTransferQueue<WriteMessage>
-
drainTo
public int drainTo(java.util.Collection<? super WriteMessage> c, int maxElements)
- Specified by:
drainToin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
drainToin classLinkedTransferQueue<WriteMessage>
-
iterator
public java.util.Iterator<WriteMessage> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<WriteMessage>- Specified by:
iteratorin interfacejava.lang.Iterable<WriteMessage>- Overrides:
iteratorin classLinkedTransferQueue<WriteMessage>
-
peek
public WriteMessage peek()
- Specified by:
peekin interfacejava.util.Queue<WriteMessage>- Overrides:
peekin classLinkedTransferQueue<WriteMessage>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<WriteMessage>- Overrides:
isEmptyin classLinkedTransferQueue<WriteMessage>
-
hasWaitingConsumer
public boolean hasWaitingConsumer()
- Overrides:
hasWaitingConsumerin classLinkedTransferQueue<WriteMessage>
-
size
public int size()
Description copied from class:LinkedTransferQueueReturns the number of elements in this queue. If this queue contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.Beware that, unlike in most collections, this method is NOT a constant-time operation. Because of the asynchronous nature of these queues, determining the current number of elements requires an O(n) traversal.
- Specified by:
sizein interfacejava.util.Collection<WriteMessage>- Overrides:
sizein classLinkedTransferQueue<WriteMessage>- Returns:
- the number of elements in this queue
-
getWaitingConsumerCount
public int getWaitingConsumerCount()
- Overrides:
getWaitingConsumerCountin classLinkedTransferQueue<WriteMessage>
-
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacityin interfacejava.util.concurrent.BlockingQueue<WriteMessage>- Overrides:
remainingCapacityin classLinkedTransferQueue<WriteMessage>
-
-