ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/LinkedTransferQueue.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/LinkedTransferQueue.java (file contents):
Revision 1.53 by jsr166, Mon Feb 18 01:30:24 2013 UTC vs.
Revision 1.54 by dl, Mon Feb 25 17:59:40 2013 UTC

# Line 16 | Line 16 | import java.util.Queue;
16   import java.util.concurrent.TimeUnit;
17   import java.util.concurrent.locks.LockSupport;
18   import java.util.Spliterator;
19 + import java.util.Spliterators;
20   import java.util.stream.Stream;
21   import java.util.stream.Streams;
22   import java.util.function.Consumer;
# Line 928 | Line 929 | public class LinkedTransferQueue<E> exte
929              Node p; int n;
930              final LinkedTransferQueue<E> q = this.queue;
931              if (!exhausted && (n = batch + 1) > 0 && n <= MAX_BATCH &&
932 <                ((p = current) != null || (p = q.firstDataNode()) != null)) {
932 >                ((p = current) != null || (p = q.firstDataNode()) != null) &&
933 >                p.next != null) {
934                  Object[] a = new Object[batch = n];
935                  int i = 0;
936                  do {
# Line 939 | Line 941 | public class LinkedTransferQueue<E> exte
941                  } while (p != null && i < n);
942                  if ((current = p) == null)
943                      exhausted = true;
944 <                return Collections.arraySnapshotSpliterator
944 >                return Spliterators.spliterator
945                      (a, 0, i, Spliterator.ORDERED | Spliterator.NONNULL |
946                       Spliterator.CONCURRENT);
947              }
# Line 987 | Line 989 | public class LinkedTransferQueue<E> exte
989              return false;
990          }
991  
992 +        public long estimateSize() { return Long.MAX_VALUE; }
993 +
994          public int characteristics() {
995              return Spliterator.ORDERED | Spliterator.NONNULL |
996                  Spliterator.CONCURRENT;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines