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 2013/09/03 12:15:21 UTC
svn commit: r1519634 - in /tomcat/trunk/java/org/apache/coyote/ajp:
AbstractAjpProcessor.java AjpAprProcessor.java AjpNioProcessor.java
AjpProcessor.java
Author: markt
Date: Tue Sep 3 10:15:21 2013
New Revision: 1519634
URL: http://svn.apache.org/r1519634
Log:
Pull up remaining actions and remove actionInternal() method that is no longer required.
Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1519634&r1=1519633&r2=1519634&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Tue Sep 3 10:15:21 2013
@@ -471,29 +471,51 @@ public abstract class AbstractAjpProcess
} else if (actionCode == ActionCode.ASYNC_START) {
asyncStateMachine.asyncStart((AsyncContextCallback) param);
+
+ } else if (actionCode == ActionCode.ASYNC_COMPLETE) {
+ socketWrapper.clearDispatches();
+ if (asyncStateMachine.asyncComplete()) {
+ endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
+ }
+
+ } else if (actionCode == ActionCode.ASYNC_DISPATCH) {
+ if (asyncStateMachine.asyncDispatch()) {
+ endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
+ }
+
} else if (actionCode == ActionCode.ASYNC_DISPATCHED) {
asyncStateMachine.asyncDispatched();
+
} else if (actionCode == ActionCode.ASYNC_SETTIMEOUT) {
if (param == null) return;
long timeout = ((Long)param).longValue();
socketWrapper.setTimeout(timeout);
+
} else if (actionCode == ActionCode.ASYNC_TIMEOUT) {
AtomicBoolean result = (AtomicBoolean) param;
result.set(asyncStateMachine.asyncTimeout());
+
} else if (actionCode == ActionCode.ASYNC_RUN) {
asyncStateMachine.asyncRun((Runnable) param);
+
} else if (actionCode == ActionCode.ASYNC_ERROR) {
asyncStateMachine.asyncError();
+
} else if (actionCode == ActionCode.ASYNC_IS_STARTED) {
((AtomicBoolean) param).set(asyncStateMachine.isAsyncStarted());
+
} else if (actionCode == ActionCode.ASYNC_IS_DISPATCHING) {
((AtomicBoolean) param).set(asyncStateMachine.isAsyncDispatching());
+
} else if (actionCode == ActionCode.ASYNC_IS_ASYNC) {
((AtomicBoolean) param).set(asyncStateMachine.isAsync());
+
} else if (actionCode == ActionCode.ASYNC_IS_TIMINGOUT) {
((AtomicBoolean) param).set(asyncStateMachine.isAsyncTimingOut());
+
} else if (actionCode == ActionCode.ASYNC_IS_ERROR) {
((AtomicBoolean) param).set(asyncStateMachine.isAsyncError());
+
} else if (actionCode == ActionCode.UPGRADE) {
// HTTP connections only. Unsupported for AJP.
throw new UnsupportedOperationException(
@@ -546,9 +568,6 @@ public abstract class AbstractAjpProcess
} else if (actionCode == ActionCode.DISPATCH_WRITE) {
socketWrapper.addDispatch(DispatchType.NON_BLOCKING_WRITE);
-
- } else {
- actionInternal(actionCode, param);
}
}
@@ -808,9 +827,6 @@ public abstract class AbstractAjpProcess
// ------------------------------------------------------ Protected Methods
- // Methods called by action()
- protected abstract void actionInternal(ActionCode actionCode, Object param);
-
// Methods called by asyncDispatch
/**
* Provides a mechanism for those connector implementations (currently only
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1519634&r1=1519633&r2=1519634&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Tue Sep 3 10:15:21 2013
@@ -21,12 +21,10 @@ import java.nio.ByteBuffer;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
-import org.apache.coyote.ActionCode;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.jni.Socket;
import org.apache.tomcat.util.net.AprEndpoint;
-import org.apache.tomcat.util.net.SocketStatus;
import org.apache.tomcat.util.net.SocketWrapper;
/**
@@ -74,29 +72,6 @@ public class AjpAprProcessor extends Abs
protected final ByteBuffer outputBuffer;
- /**
- * Send an action to the connector.
- *
- * @param actionCode Type of the action
- * @param param Action parameter
- */
- @Override
- protected void actionInternal(ActionCode actionCode, Object param) {
-
- if (actionCode == ActionCode.ASYNC_COMPLETE) {
- socketWrapper.clearDispatches();
- if (asyncStateMachine.asyncComplete()) {
- endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
- }
-
- } else if (actionCode == ActionCode.ASYNC_DISPATCH) {
- if (asyncStateMachine.asyncDispatch()) {
- endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
- }
- }
- }
-
-
@Override
protected void resetTimeouts() {
// NO-OP. The AJP APR/native connector only uses the timeout value on
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1519634&r1=1519633&r2=1519634&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Tue Sep 3 10:15:21 2013
@@ -21,13 +21,11 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.Selector;
-import org.apache.coyote.ActionCode;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.net.NioChannel;
import org.apache.tomcat.util.net.NioEndpoint;
import org.apache.tomcat.util.net.NioSelectorPool;
-import org.apache.tomcat.util.net.SocketStatus;
import org.apache.tomcat.util.net.SocketWrapper;
/**
@@ -58,29 +56,6 @@ public class AjpNioProcessor extends Abs
protected final NioSelectorPool pool;
- /**
- * Send an action to the connector.
- *
- * @param actionCode Type of the action
- * @param param Action parameter
- */
- @Override
- protected void actionInternal(ActionCode actionCode, Object param) {
-
- if (actionCode == ActionCode.ASYNC_COMPLETE) {
- socketWrapper.clearDispatches();
- if (asyncStateMachine.asyncComplete()) {
- endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
- }
-
- } else if (actionCode == ActionCode.ASYNC_DISPATCH) {
- if (asyncStateMachine.asyncDispatch()) {
- endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
- }
- }
- }
-
-
@Override
protected void resetTimeouts() {
// The NIO connector uses the timeout configured on the wrapper in the
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=1519634&r1=1519633&r2=1519634&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Tue Sep 3 10:15:21 2013
@@ -21,11 +21,9 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
-import org.apache.coyote.ActionCode;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.net.JIoEndpoint;
-import org.apache.tomcat.util.net.SocketStatus;
import org.apache.tomcat.util.net.SocketWrapper;
/**
@@ -71,29 +69,6 @@ public class AjpProcessor extends Abstra
}
- /**
- * Send an action to the connector.
- *
- * @param actionCode Type of the action
- * @param param Action parameter
- */
- @Override
- protected void actionInternal(ActionCode actionCode, Object param) {
-
- if (actionCode == ActionCode.ASYNC_COMPLETE) {
- socketWrapper.clearDispatches();
- if (asyncStateMachine.asyncComplete()) {
- endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
- }
-
- } else if (actionCode == ActionCode.ASYNC_DISPATCH) {
- if (asyncStateMachine.asyncDispatch()) {
- endpoint.processSocketAsync(socketWrapper, SocketStatus.OPEN_READ);
- }
- }
- }
-
-
@Override
protected void resetTimeouts() {
// NO-OP. The AJP BIO connector only uses the timeout value on the
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org