[jboss-cvs] jboss-jms/src/main/org/jboss/messaging/core/refqueue ...

Timothy Fox tim.fox at jboss.com
Mon Jul 17 13:14:49 EDT 2006


  User: timfox  
  Date: 06/07/17 13:14:49

  Modified:    src/main/org/jboss/messaging/core/refqueue  
                        BasicPrioritizedDeque.java PrioritizedDeque.java
  Log:
  Many changes including implementation of prefetch, SEDAisation of server, changing of recovery
  
  Revision  Changes    Path
  1.8       +16 -29    jboss-jms/src/main/org/jboss/messaging/core/refqueue/BasicPrioritizedDeque.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: BasicPrioritizedDeque.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-jms/src/main/org/jboss/messaging/core/refqueue/BasicPrioritizedDeque.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -r1.7 -r1.8
  --- BasicPrioritizedDeque.java	5 Mar 2006 16:17:24 -0000	1.7
  +++ BasicPrioritizedDeque.java	17 Jul 2006 17:14:49 -0000	1.8
  @@ -25,6 +25,9 @@
   import java.util.LinkedList;
   import java.util.List;
   
  +import org.jboss.logging.Logger;
  +import org.jboss.messaging.core.ChannelSupport;
  +
   /**
    * A basic non synchronized PrioritizedDeque implementation.
    * 
  @@ -32,12 +35,15 @@
    * individual LinkedList for each priority level.
    * 
    * @author <a href="mailto:tim.fox at jboss.com>Tim Fox</a>
  - * @version <tt>$Revision: 1.7 $</tt>
  + * @version <tt>$Revision: 1.8 $</tt>
    *
  - * $Id: BasicPrioritizedDeque.java,v 1.7 2006/03/05 16:17:24 timfox Exp $
  + * $Id: BasicPrioritizedDeque.java,v 1.8 2006/07/17 17:14:49 timfox Exp $
    */
   public class BasicPrioritizedDeque implements PrioritizedDeque
   {     
  +   private static final Logger log = Logger.getLogger(BasicPrioritizedDeque.class);
  +
  +   
      protected LinkedList[] linkedLists;
      
      protected int priorities;
  @@ -51,28 +57,25 @@
         initDeques();
      }
      
  -   public boolean addFirst(Object obj, int priority)
  +   public void addFirst(Object obj, int priority)
      {   
         linkedLists[priority].addFirst(obj);
         
         size++;
  -      
  -      return size == 1;          
      }
      
  -   public boolean addLast(Object obj, int priority)
  +   public void addLast(Object obj, int priority)
      {
         linkedLists[priority].addLast(obj);
         
         size++;
  -      
  -      return size == 1;
      }
   
      public Object removeFirst()
      {
         Object obj = null;
         
  +      
         //Initially we are just using a simple prioritization algorithm:
         //Highest priority refs always get returned first.
         //This could cause starvation of lower priority refs.
  @@ -83,28 +86,12 @@
         {
            LinkedList ll = linkedLists[i];
            
  -         //TODO improve this further
  -         int listSize = ll.size();
  -         if (listSize == 1 || listSize == 2)
  -         {
  -            if (!ll.isEmpty())
  -            {
  -               obj = linkedLists[i].removeFirst();
  -            }           
  -         }
  -         else
  -         {
  -            //No need to synchronize
               if (!ll.isEmpty())
               {
  -               obj = linkedLists[i].removeFirst();
  -            }
  -         }
  -                  
  -         if (obj != null)
  -         {
  +            obj = ll.removeFirst();
               break;
            }
  +                           
         }
         
         if (obj != null)
  
  
  
  1.8       +4 -4      jboss-jms/src/main/org/jboss/messaging/core/refqueue/PrioritizedDeque.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PrioritizedDeque.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-jms/src/main/org/jboss/messaging/core/refqueue/PrioritizedDeque.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -r1.7 -r1.8
  --- PrioritizedDeque.java	5 Mar 2006 16:17:24 -0000	1.7
  +++ PrioritizedDeque.java	17 Jul 2006 17:14:49 -0000	1.8
  @@ -28,15 +28,15 @@
    * A deque that returns objects according to a priority.<br>
    * 
    * @author <a href="mailto:tim.fox at jboss.com>Tim Fox</a>
  - * @version <tt>$Revision: 1.7 $</tt>
  + * @version <tt>$Revision: 1.8 $</tt>
    *
  - * $Id: PrioritizedDeque.java,v 1.7 2006/03/05 16:17:24 timfox Exp $
  + * $Id: PrioritizedDeque.java,v 1.8 2006/07/17 17:14:49 timfox Exp $
    */
   public interface PrioritizedDeque
   {
  -   boolean addFirst(Object obj, int priority);
  +   void addFirst(Object obj, int priority);
      
  -   boolean addLast(Object obj, int priority);
  +   void addLast(Object obj, int priority);
      
      Object removeFirst();
      
  
  
  



More information about the jboss-cvs-commits mailing list