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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org