[cvs] / jsr166 / src / main / java / util / concurrent / LinkedTransferQueue.java Repository:
ViewVC logotype

Diff of /jsr166/src/main/java/util/concurrent/LinkedTransferQueue.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.91, Sat Jun 13 17:06:03 2015 UTC revision 1.92, Sat Jun 13 18:49:24 2015 UTC
# Line 766  Line 766 
766      }      }
767    
768      /**      /**
      * Returns the item in the first unmatched node with isData; or  
      * null if none.  Used by peek.  
      */  
     private E firstDataItem() {  
         for (Node p = head; p != null; p = succ(p)) {  
             Object item = p.item;  
             if (p.isData) {  
                 if (item != null && item != p) {  
                     @SuppressWarnings("unchecked") E itemE = (E) item;  
                     return itemE;  
                 }  
             }  
             else if (item == null)  
                 return null;  
         }  
         return null;  
     }  
   
     /**  
769       * Traverses and counts unmatched nodes of the given mode.       * Traverses and counts unmatched nodes of the given mode.
770       * Used by methods size and getWaitingConsumerCount.       * Used by methods size and getWaitingConsumerCount.
771       */       */
# Line 1419  Line 1400 
1400      }      }
1401    
1402      public E peek() {      public E peek() {
1403          return firstDataItem();          restartFromHead: for (;;) {
1404                for (Node p = head; p != null;) {
1405                    Object item = p.item;
1406                    if (p.isData) {
1407                        if (item != null && item != p) {
1408                            @SuppressWarnings("unchecked") E e = (E) item;
1409                            return e;
1410                        }
1411                    }
1412                    else if (item == null)
1413                        break;
1414                    if (p == (p = p.next))
1415                        continue restartFromHead;
1416                }
1417                return null;
1418            }
1419      }      }
1420    
1421      /**      /**

Legend:
Removed from v.1.91  
changed lines
  Added in v.1.92

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8