Package net.rubyeye.xmemcached.impl
Class FlowControlLinkedTransferQueue
java.lang.Object
java.util.AbstractCollection<WriteMessage>
java.util.AbstractQueue<WriteMessage>
com.google.code.yanf4j.util.LinkedTransferQueue<WriteMessage>
net.rubyeye.xmemcached.impl.FlowControlLinkedTransferQueue
- All Implemented Interfaces:
Iterable<WriteMessage>
,Collection<WriteMessage>
,BlockingQueue<WriteMessage>
,Queue<WriteMessage>
-
Nested Class Summary
Nested classes/interfaces inherited from class com.google.code.yanf4j.util.LinkedTransferQueue
LinkedTransferQueue.PaddedAtomicReference<T>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
int
drainTo
(Collection<? super WriteMessage> c) int
drainTo
(Collection<? super WriteMessage> c, int maxElements) int
boolean
boolean
isEmpty()
iterator()
boolean
boolean
offer
(WriteMessage e, long timeout, TimeUnit unit) peek()
poll()
void
put
(WriteMessage e) private void
int
int
size()
Returns the number of elements in this queue.take()
void
boolean
boolean
tryTransfer
(WriteMessage e, long timeout, 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
Methods inherited from interface java.util.concurrent.BlockingQueue
add, contains, remove
Methods inherited from interface java.util.Collection
addAll, clear, containsAll, equals, hashCode, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray
-
Field Details
-
flowControl
-
-
Constructor Details
-
FlowControlLinkedTransferQueue
-
-
Method Details
-
checkPermits
-
put
- Specified by:
put
in interfaceBlockingQueue<WriteMessage>
- Overrides:
put
in classLinkedTransferQueue<WriteMessage>
- Throws:
InterruptedException
-
offer
- Specified by:
offer
in interfaceBlockingQueue<WriteMessage>
- Overrides:
offer
in classLinkedTransferQueue<WriteMessage>
- Throws:
InterruptedException
-
offer
- Specified by:
offer
in interfaceBlockingQueue<WriteMessage>
- Specified by:
offer
in interfaceQueue<WriteMessage>
- Overrides:
offer
in classLinkedTransferQueue<WriteMessage>
-
transfer
- Overrides:
transfer
in classLinkedTransferQueue<WriteMessage>
- Throws:
InterruptedException
-
tryTransfer
- Overrides:
tryTransfer
in classLinkedTransferQueue<WriteMessage>
- Throws:
InterruptedException
-
tryTransfer
- Overrides:
tryTransfer
in classLinkedTransferQueue<WriteMessage>
-
take
- Specified by:
take
in interfaceBlockingQueue<WriteMessage>
- Overrides:
take
in classLinkedTransferQueue<WriteMessage>
- Throws:
InterruptedException
-
poll
- Specified by:
poll
in interfaceBlockingQueue<WriteMessage>
- Overrides:
poll
in classLinkedTransferQueue<WriteMessage>
- Throws:
InterruptedException
-
poll
- Specified by:
poll
in interfaceQueue<WriteMessage>
- Overrides:
poll
in classLinkedTransferQueue<WriteMessage>
-
releasePermit
-
drainTo
- Specified by:
drainTo
in interfaceBlockingQueue<WriteMessage>
- Overrides:
drainTo
in classLinkedTransferQueue<WriteMessage>
-
drainTo
- Specified by:
drainTo
in interfaceBlockingQueue<WriteMessage>
- Overrides:
drainTo
in classLinkedTransferQueue<WriteMessage>
-
iterator
- Specified by:
iterator
in interfaceCollection<WriteMessage>
- Specified by:
iterator
in interfaceIterable<WriteMessage>
- Overrides:
iterator
in classLinkedTransferQueue<WriteMessage>
-
peek
- Specified by:
peek
in interfaceQueue<WriteMessage>
- Overrides:
peek
in classLinkedTransferQueue<WriteMessage>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceCollection<WriteMessage>
- Overrides:
isEmpty
in classLinkedTransferQueue<WriteMessage>
-
hasWaitingConsumer
public boolean hasWaitingConsumer()- Overrides:
hasWaitingConsumer
in classLinkedTransferQueue<WriteMessage>
-
size
public int size()Description copied from class:LinkedTransferQueue
Returns 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:
size
in interfaceCollection<WriteMessage>
- Overrides:
size
in classLinkedTransferQueue<WriteMessage>
- Returns:
- the number of elements in this queue
-
getWaitingConsumerCount
public int getWaitingConsumerCount()- Overrides:
getWaitingConsumerCount
in classLinkedTransferQueue<WriteMessage>
-
remainingCapacity
public int remainingCapacity()- Specified by:
remainingCapacity
in interfaceBlockingQueue<WriteMessage>
- Overrides:
remainingCapacity
in classLinkedTransferQueue<WriteMessage>
-