You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/01/28 14:07:37 UTC

svn commit: r1655292 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpProcessor.java tomcat/util/net/AprEndpoint.java tomcat/util/net/Nio2Endpoint.java tomcat/util/net/NioEndpoint.java tomcat/util/net/SocketWrapperBase.java

Author: markt
Date: Wed Jan 28 13:07:37 2015
New Revision: 1655292

URL: http://svn.apache.org/r1655292
Log:
Simplify read and write registration for non-blocking I/O.

Modified:
    tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1655292&r1=1655291&r2=1655292&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Jan 28 13:07:37 2015
@@ -582,7 +582,7 @@ public class AjpProcessor<S> extends Abs
         }
         case NB_READ_INTEREST: {
             if (!endOfStream) {
-                socketWrapper.regsiterForEvent(true, false);
+                socketWrapper.registerReadInterest();
             }
             break;
         }
@@ -644,7 +644,7 @@ public class AjpProcessor<S> extends Abs
                     request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, x);
                 }
             } catch (IllegalStateException x) {
-                socketWrapper.regsiterForEvent(false, true);
+                socketWrapper.registerWriteInterest();
             }
         } else if (status == SocketStatus.OPEN_READ &&
                 request.getReadListener() != null) {
@@ -653,7 +653,7 @@ public class AjpProcessor<S> extends Abs
                     asyncStateMachine.asyncOperation();
                 }
             } catch (IllegalStateException x) {
-                socketWrapper.regsiterForEvent(true, false);
+                socketWrapper.registerReadInterest();
             }
         }
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1655292&r1=1655291&r2=1655292&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Jan 28 13:07:37 2015
@@ -2629,20 +2629,15 @@ public class AprEndpoint extends Abstrac
 
         @Override
         public void registerReadInterest() {
-            regsiterForEvent(true, false);
+            ((AprEndpoint) getEndpoint()).getPoller().add(
+                    getSocket().longValue(), -1, true, false);
         }
 
 
         @Override
         public void registerWriteInterest() {
-            regsiterForEvent(false, true);
-        }
-
-
-        @Override
-        public void regsiterForEvent(boolean read, boolean write) {
             ((AprEndpoint) getEndpoint()).getPoller().add(
-                    getSocket().longValue(), -1, read, write);
+                    getSocket().longValue(), -1, false, true);
         }
 
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1655292&r1=1655291&r2=1655292&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Jan 28 13:07:37 2015
@@ -1284,12 +1284,6 @@ public class Nio2Endpoint extends Abstra
         }
 
 
-        @Override
-        public void regsiterForEvent(boolean read, boolean write) {
-            // NO-OP. Appropriate handlers will already have been registered.
-        }
-
-
         public void awaitBytes() {
             if (getSocket() == null) {
                 return;

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1655292&r1=1655291&r2=1655292&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Jan 28 13:07:37 2015
@@ -1571,22 +1571,6 @@ public class NioEndpoint extends Abstrac
 
 
         @Override
-        public void regsiterForEvent(boolean read, boolean write) {
-            SelectionKey key = getSocket().getIOChannel().keyFor(
-                    getSocket().getPoller().getSelector());
-            if (read) {
-                this.interestOps(this.interestOps() | SelectionKey.OP_READ);
-                key.interestOps(key.interestOps() | SelectionKey.OP_READ);
-            }
-            if (write) {
-                this.interestOps(this.interestOps() | SelectionKey.OP_WRITE);
-                key.interestOps(key.interestOps() | SelectionKey.OP_READ);
-            }
-        }
-
-
-
-        @Override
         public SendfileDataBase createSendfileData(String filename, long pos, long length) {
             return new SendfileData(filename, pos, length);
         }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1655292&r1=1655291&r2=1655292&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Wed Jan 28 13:07:37 2015
@@ -509,8 +509,6 @@ public abstract class SocketWrapperBase<
 
     public abstract void registerWriteInterest();
 
-    public abstract void regsiterForEvent(boolean read, boolean write);
-
     public abstract SendfileDataBase createSendfileData(String filename, long pos, long length);
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org