本文整理了Java中java.util.concurrent.LinkedBlockingDeque.iterator()
方法的一些代码示例,展示了LinkedBlockingDeque.iterator()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。LinkedBlockingDeque.iterator()
方法的具体详情如下:
包路径:java.util.concurrent.LinkedBlockingDeque
类名称:LinkedBlockingDeque
方法名:iterator
[英]Returns an iterator over the elements in this deque in proper sequence. The elements will be returned in order from first (head) to last (tail).
The returned iterator is a "weakly consistent" iterator that will never throw java.util.ConcurrentModificationException, and guarantees to traverse elements as they existed upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.
[中]按正确的顺序返回此数据块中元素的迭代器。元素将按从第一个(头部)到最后一个(尾部)的顺序返回。
返回的迭代器是一个“弱一致性”迭代器,它永远不会抛出java。util。ConcurrentModificationException,并保证遍历迭代器构造时存在的元素,并且可能(但不保证)反映构造之后的任何修改。
代码示例来源:origin: lealone/Lealone
@Override
public Iterator<Long> iterator() {
return deque.iterator();
}
代码示例来源:origin: apache/zookeeper
private void cleanup() {
clientCnxnSocket.cleanup();
synchronized (pendingQueue) {
for (Packet p : pendingQueue) {
conLossPacket(p);
}
pendingQueue.clear();
}
// We can't call outgoingQueue.clear() here because
// between iterating and clear up there might be new
// packets added in queuePacket().
Iterator<Packet> iter = outgoingQueue.iterator();
while (iter.hasNext()) {
Packet p = iter.next();
conLossPacket(p);
iter.remove();
}
}
代码示例来源:origin: apache/zookeeper
@Override
void cleanup() {
connectLock.lock();
try {
if (connectFuture != null) {
connectFuture.cancel(false);
connectFuture = null;
}
if (channel != null) {
channel.close().syncUninterruptibly();
channel = null;
}
} finally {
connectLock.unlock();
}
Iterator<Packet> iter = outgoingQueue.iterator();
while (iter.hasNext()) {
Packet p = iter.next();
if (p == WakeupPacket.getInstance()) {
iter.remove();
}
}
}
代码示例来源:origin: apache/zookeeper
private Packet findSendablePacket(LinkedBlockingDeque<Packet> outgoingQueue,
boolean tunneledAuthInProgres) {
if (outgoingQueue.isEmpty()) {
return null;
}
// If we've already starting sending the first packet, we better finish
if (outgoingQueue.getFirst().bb != null || !tunneledAuthInProgres) {
return outgoingQueue.getFirst();
}
// Since client's authentication with server is in progress,
// send only the null-header packet queued by primeConnection().
// This packet must be sent so that the SASL authentication process
// can proceed, but all other packets should wait until
// SASL authentication completes.
Iterator<Packet> iter = outgoingQueue.iterator();
while (iter.hasNext()) {
Packet p = iter.next();
if (p.requestHeader == null) {
// We've found the priming-packet. Move it to the beginning of the queue.
iter.remove();
outgoingQueue.addFirst(p);
return p;
} else {
// Non-priming packet: defer it until later, leaving it in the queue
// until authentication completes.
LOG.debug("deferring non-priming packet {} until SASL authentation completes.", p);
}
}
return null;
}
代码示例来源:origin: numenta/htm.java
/**
* Returns an {@link Iterator} over the contents of this {@code Deque}
* @return
*/
public Iterator<E> iterator() {
return backingList.iterator();
}
代码示例来源:origin: com.netflix.dyno/dyno-core
private List<Bucket> getBuckets(int lookback) {
List<Bucket> list = new ArrayList<Bucket>();
int count = 0;
Iterator<Bucket> iter = queue.iterator();
while (iter.hasNext() && count < lookback) {
list.add(iter.next());
count++;
}
return list;
}
代码示例来源:origin: com.netflix.dyno/dyno-core
private List<Bucket> getAllBuckets() {
List<Bucket> list = new ArrayList<Bucket>();
Iterator<Bucket> iter = queue.iterator();
while (iter.hasNext()) {
list.add(iter.next());
}
return list;
}
代码示例来源:origin: codefollower/Tomcat-Research
private boolean hasBufferedData() {
boolean result = false;
if (bufferedWrites!=null) {
Iterator<ByteBufferHolder> iter = bufferedWrites.iterator();
while (!result && iter.hasNext()) {
result = iter.next().hasData();
}
}
return result;
}
}
代码示例来源:origin: org.alfresco/alfresco-solrclient-lib
@Override
public Iterator<T> iterator()
{
return getDeque().iterator();
}
代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core
public boolean write(Sink sink, boolean blocking) throws IOException {
Iterator<ByteBufferHolder> bufIter = buffers.iterator();
boolean dataLeft = false;
while (!dataLeft && bufIter.hasNext()) {
ByteBufferHolder buffer = bufIter.next();
buffer.flip();
dataLeft = sink.writeFromBuffer(buffer.getBuf(), blocking);
if (!dataLeft) {
bufIter.remove();
}
}
return dataLeft;
}
代码示例来源:origin: com.crawljax/crawljax
/**
* Removes Candidate Actions on candidateElements that have been removed by the pre-state crawl
* plugin.
*
* @param candidateElements
*/
public void filterCandidateActions(List<CandidateElement> candidateElements) {
if (candidateActions == null) {
return;
}
Iterator<CandidateCrawlAction> iter = candidateActions.iterator();
CandidateCrawlAction currentAction;
while (iter.hasNext()) {
currentAction = iter.next();
if (!candidateElements.contains(currentAction.getCandidateElement())) {
iter.remove();
LOGGER.info("filtered candidate action: " + currentAction.getEventType().name()
+ " on " + currentAction.getCandidateElement().getGeneralString());
}
}
}
代码示例来源:origin: codefollower/Tomcat-Research
private void flushBufferedData() throws IOException {
if (responseMsgPos > -1) {
// Must be using non-blocking IO
// Partially written response message. Try and complete it.
writeResponseMessage(false);
}
while (responseMsgPos == -1 && bufferedWrites.size() > 0) {
// Try and write any remaining buffer data
Iterator<ByteBufferHolder> holders = bufferedWrites.iterator();
ByteBufferHolder holder = holders.next();
holder.flip();
ByteBuffer buffer = holder.getBuf();
int initialBufferSize = buffer.remaining();
while (responseMsgPos == -1 && buffer.remaining() > 0) {
transferToResponseMsg(buffer);
writeResponseMessage(false);
}
bytesWritten += (initialBufferSize - buffer.remaining());
if (buffer.remaining() == 0) {
holders.remove();
}
}
}
代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core
boolean write(SocketWrapperBase<?> socketWrapper, boolean blocking) throws IOException {
Iterator<ByteBufferHolder> bufIter = buffers.iterator();
boolean dataLeft = false;
while (!dataLeft && bufIter.hasNext()) {
ByteBufferHolder buffer = bufIter.next();
buffer.flip();
if (blocking) {
socketWrapper.writeBlocking(buffer.getBuf());
} else {
socketWrapper.writeNonBlockingInternal(buffer.getBuf());
}
if (buffer.getBuf().remaining() == 0) {
bufIter.remove();
} else {
dataLeft = true;
}
}
return dataLeft;
}
代码示例来源:origin: org.apache.geode/gemfire-core
private void trimSelectorPool(LinkedBlockingDeque<SelectorInfo> selectorPool) {
SelectorInfo selectorInfo = selectorPool.peekLast();
//iterate backwards and remove any selectors that have been marked
//once we hit a selector that has yet to be marked, we can then mark the remaining
while (selectorInfo != null && selectorInfo.markForClean) {
selectorInfo = selectorPool.pollLast();
//check the flag again just to be sure
if (selectorInfo.markForClean ) {
selectorInfo.close();
}
else {
selectorPool.addFirst(selectorInfo);
}
selectorInfo = selectorPool.peekLast();
}
//Mark all the selectors
Iterator<SelectorInfo> selectorIterator = selectorPool.iterator();
while (selectorIterator.hasNext()) {
selectorIterator.next().markForClean = true;
}
}
}
代码示例来源:origin: codefollower/Tomcat-Research
@Override
protected synchronized boolean flushBuffer(boolean block)
throws IOException {
wrapper.access();
if (hasMoreDataToFlush()) {
writeToSocket(block);
}
if (bufferedWrites.size() > 0) {
Iterator<ByteBufferHolder> bufIter = bufferedWrites.iterator();
while (!hasMoreDataToFlush() && bufIter.hasNext()) {
ByteBufferHolder buffer = bufIter.next();
buffer.flip();
while (!hasMoreDataToFlush() && buffer.getBuf().remaining()>0) {
transfer(buffer.getBuf(), bbuf);
if (buffer.getBuf().remaining() == 0) {
bufIter.remove();
}
writeToSocket(block);
//here we must break if we didn't finish the write
}
}
}
return hasMoreDataToFlush();
}
代码示例来源:origin: codefollower/Tomcat-Research
Iterator<ByteBufferHolder> bufIter = bufferedWrites.iterator();
while (!hasMoreDataToFlush() && bufIter.hasNext()) {
ByteBufferHolder buffer = bufIter.next();
代码示例来源:origin: stackoverflow.com
return stack.iterator();
内容来源于网络,如有侵权,请联系作者删除!