Author: rgodfrey
Date: Fri Nov 13 17:17:05 2015
New Revision: 1714242

URL: http://svn.apache.org/viewvc?rev=1714242&view=rev
Log:
QPID-6794 : Address review comments from [~k-wall]

Modified:
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java
    
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java?rev=1714242&r1=1714241&r2=1714242&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NetworkConnectionScheduler.java
 Fri Nov 13 17:17:05 2015
@@ -100,57 +100,49 @@ public class NetworkConnectionScheduler
 
     void processConnection(final NonBlockingConnection connection)
     {
-        Thread.currentThread().setName( connection.getThreadName() );
-        try
+        Thread.currentThread().setName(connection.getThreadName());
+        boolean rerun;
+        do
         {
-            incrementRunningCount();
-            boolean rerun;
-            do
+            rerun = false;
+            boolean closed = connection.doWork();
+
+            if (!closed && connection.getScheduler() == this)
             {
-                rerun = false;
-                boolean closed = connection.doWork();
 
-                if (!closed && connection.getScheduler() == this)
+                if (connection.isStateChanged() || connection.isPartialRead())
                 {
-
-                    if (connection.isStateChanged() || 
connection.isPartialRead())
+                    if (_running.get() == _poolSize)
                     {
-                        if (_running.get() == _poolSize)
-                        {
-                            connection.clearScheduled();
-                            schedule(connection);
-                        }
-                        else
-                        {
-                            rerun = true;
-                        }
+                        connection.clearScheduled();
+                        schedule(connection);
                     }
                     else
                     {
-                        connection.clearScheduled();
-                        if(connection.isStateChanged())
-                        {
-                            _selectorThread.addToWork(connection);
-                        }
-                        else
-                        {
-                            
_selectorThread.returnConnectionToSelector(connection);
-                        }
+                        rerun = true;
                     }
                 }
-                else if(connection.getScheduler() != this)
+                else
                 {
-                    removeConnection(connection);
                     connection.clearScheduled();
-                    connection.getScheduler().addConnection(connection);
+                    if (connection.isStateChanged())
+                    {
+                        _selectorThread.addToWork(connection);
+                    }
+                    else
+                    {
+                        _selectorThread.returnConnectionToSelector(connection);
+                    }
                 }
+            }
+            else if (connection.getScheduler() != this)
+            {
+                removeConnection(connection);
+                connection.clearScheduled();
+                connection.getScheduler().addConnection(connection);
+            }
 
-            } while (rerun);
-        }
-        finally
-        {
-            decrementRunningCount();
-        }
+        } while (rerun);
 
     }
 

Modified: 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java?rev=1714242&r1=1714241&r2=1714242&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/SelectorThread.java
 Fri Nov 13 17:17:05 2015
@@ -334,7 +334,7 @@ class SelectorThread extends Thread
                         _workQueue.add(this);
                         for (ConnectionProcessor connectionProcessor : 
connections)
                         {
-                            connectionProcessor.run();
+                            connectionProcessor.processConnection();
                         }
 
                     }
@@ -481,7 +481,20 @@ class SelectorThread extends Thread
         @Override
         public void run()
         {
-            if(_running.compareAndSet(false,true))
+            _scheduler.incrementRunningCount();
+            try
+            {
+                processConnection();
+            }
+            finally
+            {
+                _scheduler.decrementRunningCount();
+            }
+        }
+
+        public void processConnection()
+        {
+            if (_running.compareAndSet(false, true))
             {
                 _scheduler.processConnection(_connection);
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to