Author: markt
Date: Fri Jan 30 10:24:10 2015
New Revision: 1655976
URL: http://svn.apache.org/r1655976
Log:
Remove generics from Processor.
This removes I/O implementation specific code from several places in the
Protocol implementations and will allow those methods to be pulled up.
This commit includes a couple of temporary methods in SocketWrapperBase that I
hope to be able to remove at a later stage of refactoring.
Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java
tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java
tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java
tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Fri Jan 30
10:24:10 2015
@@ -32,16 +32,16 @@ import org.apache.tomcat.util.res.String
* Provides functionality and attributes common to all supported protocols
* (currently HTTP and AJP).
*/
-public abstract class AbstractProcessor<S> implements ActionHook, Processor<S>
{
+public abstract class AbstractProcessor implements ActionHook, Processor {
protected static final StringManager sm =
StringManager.getManager(Constants.Package);
protected Adapter adapter;
protected final AsyncStateMachine asyncStateMachine;
- protected final AbstractEndpoint<S> endpoint;
+ protected final AbstractEndpoint<?> endpoint;
protected final Request request;
protected final Response response;
- protected SocketWrapperBase<S> socketWrapper = null;
+ protected SocketWrapperBase<?> socketWrapper = null;
private String clientCertProvider = null;
/**
@@ -61,7 +61,7 @@ public abstract class AbstractProcessor<
response = null;
}
- public AbstractProcessor(AbstractEndpoint<S> endpoint) {
+ public AbstractProcessor(AbstractEndpoint<?> endpoint) {
this.endpoint = endpoint;
asyncStateMachine = new AsyncStateMachine(this);
request = new Request();
@@ -87,7 +87,7 @@ public abstract class AbstractProcessor<
response.setStatus(500);
}
getLog().info(sm.getString("abstractProcessor.nonContainerThreadError"), t);
- getEndpoint().processSocket(socketWrapper, SocketStatus.CLOSE_NOW,
true);
+ socketWrapper.processSocket(SocketStatus.CLOSE_NOW, true);
}
}
@@ -104,7 +104,7 @@ public abstract class AbstractProcessor<
/**
* The endpoint receiving connections that are handled by this processor.
*/
- protected AbstractEndpoint<S> getEndpoint() {
+ protected AbstractEndpoint<?> getEndpoint() {
return endpoint;
}
@@ -152,7 +152,7 @@ public abstract class AbstractProcessor<
/**
* Set the socket wrapper being used.
*/
- protected final void setSocketWrapper(SocketWrapperBase<S> socketWrapper) {
+ protected final void setSocketWrapper(SocketWrapperBase<?> socketWrapper) {
this.socketWrapper = socketWrapper;
}
@@ -160,7 +160,7 @@ public abstract class AbstractProcessor<
/**
* Get the socket wrapper being used.
*/
- protected final SocketWrapperBase<S> getSocketWrapper() {
+ protected final SocketWrapperBase<?> getSocketWrapper() {
return socketWrapper;
}
@@ -198,7 +198,7 @@ public abstract class AbstractProcessor<
* with although they may change type during processing.
*/
@Override
- public abstract SocketState process(SocketWrapperBase<S> socket) throws
IOException;
+ public abstract SocketState process(SocketWrapperBase<?> socket) throws
IOException;
/**
* Process in-progress Servlet 3.0 Async requests. These will start as HTTP
Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Fri Jan 30
10:24:10 2015
@@ -567,7 +567,7 @@ public abstract class AbstractProtocol<S
// ------------------------------------------- Connection handler base
class
- protected abstract static class AbstractConnectionHandler<S,P extends
Processor<S>>
+ protected abstract static class AbstractConnectionHandler<S,P extends
Processor>
implements AbstractEndpoint.Handler<S> {
protected abstract Log getLog();
@@ -575,7 +575,7 @@ public abstract class AbstractProtocol<S
protected final RequestGroupInfo global = new RequestGroupInfo();
protected final AtomicLong registerCount = new AtomicLong(0);
- protected final ConcurrentHashMap<S,Processor<S>> connections =
+ protected final ConcurrentHashMap<S,Processor> connections =
new ConcurrentHashMap<>();
protected final RecycledProcessors<P,S> recycledProcessors =
@@ -610,7 +610,7 @@ public abstract class AbstractProtocol<S
return SocketState.CLOSED;
}
- Processor<S> processor = connections.get(socket);
+ Processor processor = connections.get(socket);
if (status == SocketStatus.DISCONNECT && processor == null) {
// Nothing to do. Endpoint requested a close and there is no
// longer a processor associated with this socket.
@@ -775,9 +775,9 @@ public abstract class AbstractProtocol<S
protected abstract P createProcessor();
protected abstract void initSsl(SocketWrapperBase<S> socket,
- Processor<S> processor);
+ Processor processor);
protected abstract void longPoll(SocketWrapperBase<S> socket,
- Processor<S> processor);
+ Processor processor);
/**
* Expected to be used by the handler once the processor is no longer
@@ -791,12 +791,12 @@ public abstract class AbstractProtocol<S
* reading
*/
protected abstract void release(SocketWrapperBase<S> socket,
- Processor<S> processor, boolean addToPoller);
- protected abstract Processor<S> createUpgradeProcessor(
- SocketWrapperBase<S> socket, ByteBuffer leftoverInput,
+ Processor processor, boolean addToPoller);
+ protected abstract Processor createUpgradeProcessor(
+ SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeHandler) throws IOException;
- protected void register(AbstractProcessor<S> processor) {
+ protected void register(AbstractProcessor processor) {
if (getProtocol().getDomain() != null) {
synchronized (this) {
try {
@@ -823,7 +823,7 @@ public abstract class AbstractProtocol<S
}
}
- protected void unregister(Processor<S> processor) {
+ protected void unregister(Processor processor) {
if (getProtocol().getDomain() != null) {
synchronized (this) {
try {
@@ -849,8 +849,8 @@ public abstract class AbstractProtocol<S
}
}
- protected static class RecycledProcessors<P extends Processor<S>, S>
- extends SynchronizedStack<Processor<S>> {
+ protected static class RecycledProcessors<P extends Processor, S>
+ extends SynchronizedStack<Processor> {
private final transient AbstractConnectionHandler<S,P> handler;
protected final AtomicInteger size = new AtomicInteger(0);
@@ -861,7 +861,7 @@ public abstract class AbstractProtocol<S
@SuppressWarnings("sync-override") // Size may exceed cache size a bit
@Override
- public boolean push(Processor<S> processor) {
+ public boolean push(Processor processor) {
int cacheSize = handler.getProtocol().getProcessorCache();
boolean offer = cacheSize == -1 ? true : size.get() < cacheSize;
//avoid over growing our cache or add after we have stopped
@@ -878,8 +878,8 @@ public abstract class AbstractProtocol<S
@SuppressWarnings("sync-override") // OK if size is too big briefly
@Override
- public Processor<S> pop() {
- Processor<S> result = super.pop();
+ public Processor pop() {
+ Processor result = super.pop();
if (result != null) {
size.decrementAndGet();
}
@@ -888,7 +888,7 @@ public abstract class AbstractProtocol<S
@Override
public synchronized void clear() {
- Processor<S> next = pop();
+ Processor next = pop();
while (next != null) {
handler.unregister(next);
next = pop();
Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8]
(original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java [UTF-8] Fri Jan
30 10:24:10 2015
@@ -157,10 +157,10 @@ public class AsyncStateMachine {
private volatile AsyncState state = AsyncState.DISPATCHED;
// Need this to fire listener on complete
private AsyncContextCallback asyncCtxt = null;
- private final Processor<?> processor;
+ private final Processor processor;
- public AsyncStateMachine(Processor<?> processor) {
+ public AsyncStateMachine(Processor processor) {
this.processor = processor;
}
Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Fri Jan 30 10:24:10 2015
@@ -31,10 +31,10 @@ import org.apache.tomcat.util.net.Socket
/**
* Common interface for processors of all protocols.
*/
-public interface Processor<S> {
+public interface Processor {
Executor getExecutor();
- SocketState process(SocketWrapperBase<S> socketWrapper) throws IOException;
+ SocketState process(SocketWrapperBase<?> socketWrapper) throws IOException;
SocketState asyncDispatch(SocketStatus status);
SocketState asyncPostProcess();
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Fri Jan 30
10:24:10 2015
@@ -103,7 +103,7 @@ public abstract class AbstractAjpProtoco
}
}
- protected void configureProcessor(AjpProcessor<S> processor) {
+ protected void configureProcessor(AjpProcessor processor) {
processor.setAdapter(getAdapter());
processor.setTomcatAuthentication(getTomcatAuthentication());
processor.setRequiredSecret(requiredSecret);
@@ -112,7 +112,7 @@ public abstract class AbstractAjpProtoco
}
protected abstract static class AbstractAjpConnectionHandler<S>
- extends AbstractConnectionHandler<S,AjpProcessor<S>> {
+ extends AbstractConnectionHandler<S,AjpProcessor> {
private final AbstractAjpProtocol<S> proto;
@@ -127,28 +127,26 @@ public abstract class AbstractAjpProtoco
@Override
- protected AjpProcessor<S> createProcessor() {
- AjpProcessor<S> processor =
- new AjpProcessor<>(proto.getPacketSize(),
proto.getEndpoint());
+ protected AjpProcessor createProcessor() {
+ AjpProcessor processor = new AjpProcessor(proto.getPacketSize(),
proto.getEndpoint());
proto.configureProcessor(processor);
register(processor);
return processor;
}
@Override
- protected void initSsl(SocketWrapperBase<S> socket, Processor<S>
processor) {
+ protected void initSsl(SocketWrapperBase<S> socket, Processor
processor) {
// NOOP for AJP
}
@Override
- protected void longPoll(SocketWrapperBase<S> socket,
- Processor<S> processor) {
+ protected void longPoll(SocketWrapperBase<S> socket, Processor
processor) {
// Same requirements for all AJP connectors
socket.setAsync(true);
}
@Override
- protected AjpProcessor<S> createUpgradeProcessor(SocketWrapperBase<S>
socket,
+ protected AjpProcessor createUpgradeProcessor(SocketWrapperBase<?>
socket,
ByteBuffer leftoverInput, HttpUpgradeHandler
httpUpgradeHandler) {
// TODO should fail - throw IOE
return null;
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Fri Jan 30
10:24:10 2015
@@ -86,7 +86,7 @@ public class AjpAprProtocol extends Abst
@Override
public void release(SocketWrapperBase<Long> socket,
- Processor<Long> processor, boolean addToPoller) {
+ Processor processor, boolean addToPoller) {
processor.recycle();
recycledProcessors.push(processor);
if (addToPoller) {
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNio2Protocol.java Fri Jan 30
10:24:10 2015
@@ -84,8 +84,7 @@ public class AjpNio2Protocol extends Abs
*/
@Override
public void release(SocketWrapperBase<Nio2Channel> socket) {
- Processor<Nio2Channel> processor =
- connections.remove(socket.getSocket());
+ Processor processor = connections.remove(socket.getSocket());
if (processor != null) {
processor.recycle();
recycledProcessors.push(processor);
@@ -94,7 +93,7 @@ public class AjpNio2Protocol extends Abs
@Override
public void release(SocketWrapperBase<Nio2Channel> socket,
- Processor<Nio2Channel> processor, boolean addToPoller) {
+ Processor processor, boolean addToPoller) {
if (getLog().isDebugEnabled()) {
log.debug("Socket: [" + socket + "], Processor: [" + processor
+
"], addToPoller: [" + addToPoller + "]");
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Fri Jan 30
10:24:10 2015
@@ -89,12 +89,12 @@ public class AjpNioProtocol extends Abst
if (log.isDebugEnabled())
log.debug(sm.getString("ajpnioprotocol.releaseStart", socket));
boolean released = false;
- Iterator<java.util.Map.Entry<NioChannel, Processor<NioChannel>>>
it = connections.entrySet().iterator();
+ Iterator<java.util.Map.Entry<NioChannel, Processor>> it =
connections.entrySet().iterator();
while (it.hasNext()) {
- java.util.Map.Entry<NioChannel, Processor<NioChannel>> entry =
it.next();
+ java.util.Map.Entry<NioChannel, Processor> entry = it.next();
if (entry.getKey().getIOChannel()==socket) {
it.remove();
- Processor<NioChannel> result = entry.getValue();
+ Processor result = entry.getValue();
result.recycle();
unregister(result);
released = true;
@@ -113,8 +113,7 @@ public class AjpNioProtocol extends Abst
*/
@Override
public void release(SocketWrapperBase<NioChannel> socket) {
- Processor<NioChannel> processor =
- connections.remove(socket.getSocket());
+ Processor processor = connections.remove(socket.getSocket());
if (processor != null) {
processor.recycle();
recycledProcessors.push(processor);
@@ -124,7 +123,7 @@ public class AjpNioProtocol extends Abst
@Override
public void release(SocketWrapperBase<NioChannel> socket,
- Processor<NioChannel> processor, boolean addToPoller) {
+ Processor processor, boolean addToPoller) {
processor.recycle();
recycledProcessors.push(processor);
if (addToPoller) {
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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Jan 30
10:24:10 2015
@@ -56,11 +56,8 @@ import org.apache.tomcat.util.res.String
/**
* AJP Processor implementation.
- *
- * @param <S> The socket type of the IO implementation used by this processor
- * instance.
*/
-public class AjpProcessor<S> extends AbstractProcessor<S> {
+public class AjpProcessor extends AbstractProcessor {
private static final Log log = LogFactory.getLog(AjpProcessor.class);
/**
@@ -250,7 +247,7 @@ public class AjpProcessor<S> extends Abs
// ------------------------------------------------------------ Constructor
- public AjpProcessor(int packetSize, AbstractEndpoint<S> endpoint) {
+ public AjpProcessor(int packetSize, AbstractEndpoint<?> endpoint) {
super(endpoint);
@@ -498,13 +495,13 @@ public class AjpProcessor<S> extends Abs
case ASYNC_COMPLETE: {
socketWrapper.clearDispatches();
if (asyncStateMachine.asyncComplete()) {
- endpoint.processSocket(socketWrapper, SocketStatus.OPEN_READ,
true);
+ socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
}
break;
}
case ASYNC_DISPATCH: {
if (asyncStateMachine.asyncDispatch()) {
- endpoint.processSocket(socketWrapper, SocketStatus.OPEN_READ,
true);
+ socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
}
break;
}
@@ -594,7 +591,7 @@ public class AjpProcessor<S> extends Abs
break;
}
case DISPATCH_EXECUTE: {
- getEndpoint().executeNonBlockingDispatches(socketWrapper);
+ socketWrapper.executeNonBlockingDispatches();
break;
}
case CLOSE_NOW: {
@@ -690,7 +687,7 @@ public class AjpProcessor<S> extends Abs
* @throws IOException error during an I/O operation
*/
@Override
- public SocketState process(SocketWrapperBase<S> socket) throws IOException
{
+ public SocketState process(SocketWrapperBase<?> socket) throws IOException
{
RequestInfo rp = request.getRequestProcessor();
rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);
Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Fri
Jan 30 10:24:10 2015
@@ -214,7 +214,7 @@ public abstract class AbstractHttp11Prot
// ------------------------------------------------------------- Common
code
// Common configuration required for all new HTTP11 processors
- protected void configureProcessor(Http11Processor<S> processor) {
+ protected void configureProcessor(Http11Processor processor) {
processor.setAdapter(getAdapter());
processor.setMaxKeepAliveRequests(getMaxKeepAliveRequests());
processor.setConnectionUploadTimeout(getConnectionUploadTimeout());
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Fri Jan
30 10:24:10 2015
@@ -212,7 +212,7 @@ public class Http11AprProtocol extends A
// -------------------- Connection handler --------------------
protected static class Http11ConnectionHandler
- extends AbstractConnectionHandler<Long,Http11Processor<Long>> {
+ extends AbstractConnectionHandler<Long,Http11Processor> {
protected Http11AprProtocol proto;
@@ -232,7 +232,7 @@ public class Http11AprProtocol extends A
@Override
public void release(SocketWrapperBase<Long> socket,
- Processor<Long> processor, boolean addToPoller) {
+ Processor processor, boolean addToPoller) {
processor.recycle();
recycledProcessors.push(processor);
if (addToPoller && proto.getEndpoint().isRunning()) {
@@ -246,7 +246,7 @@ public class Http11AprProtocol extends A
public SocketState process(SocketWrapperBase<Long> socket,
SocketStatus status) {
if (proto.npnHandler != null) {
- Processor<Long> processor = null;
+ Processor processor = null;
if (status == SocketStatus.OPEN_READ) {
processor = connections.get(socket.getSocket());
@@ -265,7 +265,7 @@ public class Http11AprProtocol extends A
}
@Override
- protected void initSsl(SocketWrapperBase<Long> socket, Processor<Long>
processor) {
+ protected void initSsl(SocketWrapperBase<Long> socket, Processor
processor) {
if (proto.isSSLEnabled()) {
AprSSLSupport sslSupport =
new AprSSLSupport(socket,
processor.getClientCertProvider());
@@ -276,8 +276,7 @@ public class Http11AprProtocol extends A
}
@Override
- protected void longPoll(SocketWrapperBase<Long> socket,
- Processor<Long> processor) {
+ protected void longPoll(SocketWrapperBase<Long> socket, Processor
processor) {
if (processor.isAsync()) {
// Async
@@ -295,8 +294,8 @@ public class Http11AprProtocol extends A
}
@Override
- protected Http11Processor<Long> createProcessor() {
- Http11Processor<Long> processor = new Http11Processor<>(
+ protected Http11Processor createProcessor() {
+ Http11Processor processor = new Http11Processor(
proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
proto.getMaxSwallowSize());
@@ -308,11 +307,11 @@ public class Http11AprProtocol extends A
}
@Override
- protected Processor<Long> createUpgradeProcessor(
- SocketWrapperBase<Long> socket, ByteBuffer leftoverInput,
+ protected Processor createUpgradeProcessor(
+ SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeHandler)
throws IOException {
- return new UpgradeProcessor<>(socket, leftoverInput,
httpUpgradeHandler);
+ return new UpgradeProcessor(socket, leftoverInput,
httpUpgradeHandler);
}
}
}
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Nio2Protocol.java Fri Jan
30 10:24:10 2015
@@ -100,7 +100,7 @@ public class Http11Nio2Protocol extends
// -------------------- Connection handler --------------------
protected static class Http11ConnectionHandler
- extends
AbstractConnectionHandler<Nio2Channel,Http11Processor<Nio2Channel>>
+ extends AbstractConnectionHandler<Nio2Channel,Http11Processor>
implements Handler {
protected Http11Nio2Protocol proto;
@@ -131,8 +131,7 @@ public class Http11Nio2Protocol extends
*/
@Override
public void release(SocketWrapperBase<Nio2Channel> socket) {
- Processor<Nio2Channel> processor =
- connections.remove(socket.getSocket());
+ Processor processor = connections.remove(socket.getSocket());
if (processor != null) {
processor.recycle();
recycledProcessors.push(processor);
@@ -154,7 +153,7 @@ public class Http11Nio2Protocol extends
@Override
public void release(SocketWrapperBase<Nio2Channel> socket,
- Processor<Nio2Channel> processor, boolean addToPoller) {
+ Processor processor, boolean addToPoller) {
processor.recycle();
recycledProcessors.push(processor);
if (socket.isAsync()) {
@@ -167,8 +166,7 @@ public class Http11Nio2Protocol extends
@Override
- protected void initSsl(SocketWrapperBase<Nio2Channel> socket,
- Processor<Nio2Channel> processor) {
+ protected void initSsl(SocketWrapperBase<Nio2Channel> socket,
Processor processor) {
if (proto.isSSLEnabled() &&
(proto.sslImplementation != null)
&& (socket.getSocket() instanceof SecureNio2Channel)) {
@@ -183,8 +181,7 @@ public class Http11Nio2Protocol extends
}
@Override
- protected void longPoll(SocketWrapperBase<Nio2Channel> socket,
- Processor<Nio2Channel> processor) {
+ protected void longPoll(SocketWrapperBase<Nio2Channel> socket,
Processor processor) {
if (processor.isAsync()) {
socket.setAsync(true);
((Nio2Endpoint) proto.getEndpoint()).addTimeout(socket);
@@ -209,8 +206,8 @@ public class Http11Nio2Protocol extends
}
@Override
- public Http11Processor<Nio2Channel> createProcessor() {
- Http11Processor<Nio2Channel> processor = new Http11Processor<>(
+ public Http11Processor createProcessor() {
+ Http11Processor processor = new Http11Processor(
proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
proto.getMaxSwallowSize());
@@ -220,11 +217,11 @@ public class Http11Nio2Protocol extends
}
@Override
- protected Processor<Nio2Channel> createUpgradeProcessor(
- SocketWrapperBase<Nio2Channel> socket, ByteBuffer
leftoverInput,
+ protected Processor createUpgradeProcessor(
+ SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeHandler)
throws IOException {
- return new UpgradeProcessor<>(socket, leftoverInput,
httpUpgradeHandler);
+ return new UpgradeProcessor(socket, leftoverInput,
httpUpgradeHandler);
}
@Override
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Fri Jan
30 10:24:10 2015
@@ -127,7 +127,7 @@ public class Http11NioProtocol extends A
// -------------------- Connection handler --------------------
protected static class Http11ConnectionHandler
- extends
AbstractConnectionHandler<NioChannel,Http11Processor<NioChannel>>
+ extends AbstractConnectionHandler<NioChannel,Http11Processor>
implements Handler {
protected Http11NioProtocol proto;
@@ -161,12 +161,12 @@ public class Http11NioProtocol extends A
if (log.isDebugEnabled())
log.debug("Iterating through our connections to release a
socket channel:"+socket);
boolean released = false;
- Iterator<java.util.Map.Entry<NioChannel, Processor<NioChannel>>>
it = connections.entrySet().iterator();
+ Iterator<java.util.Map.Entry<NioChannel, Processor>> it =
connections.entrySet().iterator();
while (it.hasNext()) {
- java.util.Map.Entry<NioChannel, Processor<NioChannel>> entry =
it.next();
+ java.util.Map.Entry<NioChannel, Processor> entry = it.next();
if (entry.getKey().getIOChannel()==socket) {
it.remove();
- Processor<NioChannel> result = entry.getValue();
+ Processor result = entry.getValue();
result.recycle();
unregister(result);
released = true;
@@ -183,8 +183,7 @@ public class Http11NioProtocol extends A
*/
@Override
public void release(SocketWrapperBase<NioChannel> socket) {
- Processor<NioChannel> processor =
- connections.remove(socket.getSocket());
+ Processor processor = connections.remove(socket.getSocket());
if (processor != null) {
processor.recycle();
recycledProcessors.push(processor);
@@ -206,7 +205,7 @@ public class Http11NioProtocol extends A
@Override
public void release(SocketWrapperBase<NioChannel> socket,
- Processor<NioChannel> processor, boolean addToPoller) {
+ Processor processor, boolean addToPoller) {
processor.recycle();
recycledProcessors.push(processor);
if (addToPoller) {
@@ -216,8 +215,7 @@ public class Http11NioProtocol extends A
@Override
- protected void initSsl(SocketWrapperBase<NioChannel> socket,
- Processor<NioChannel> processor) {
+ protected void initSsl(SocketWrapperBase<NioChannel> socket, Processor
processor) {
if (proto.isSSLEnabled() &&
(proto.sslImplementation != null)
&& (socket.getSocket() instanceof SecureNioChannel)) {
@@ -232,8 +230,7 @@ public class Http11NioProtocol extends A
}
@Override
- protected void longPoll(SocketWrapperBase<NioChannel> socket,
- Processor<NioChannel> processor) {
+ protected void longPoll(SocketWrapperBase<NioChannel> socket,
Processor processor) {
if (processor.isAsync()) {
socket.setAsync(true);
@@ -247,8 +244,8 @@ public class Http11NioProtocol extends A
}
@Override
- public Http11Processor<NioChannel> createProcessor() {
- Http11Processor<NioChannel> processor = new Http11Processor<>(
+ public Http11Processor createProcessor() {
+ Http11Processor processor = new Http11Processor(
proto.getMaxHttpHeaderSize(), proto.getEndpoint(),
proto.getMaxTrailerSize(), proto.getMaxExtensionSize(),
proto.getMaxSwallowSize());
@@ -258,11 +255,11 @@ public class Http11NioProtocol extends A
}
@Override
- protected Processor<NioChannel> createUpgradeProcessor(
- SocketWrapperBase<NioChannel> socket, ByteBuffer leftoverInput,
+ protected Processor createUpgradeProcessor(
+ SocketWrapperBase<?> socket, ByteBuffer leftoverInput,
HttpUpgradeHandler httpUpgradeHandler)
throws IOException {
- return new UpgradeProcessor<>(socket, leftoverInput,
httpUpgradeHandler);
+ return new UpgradeProcessor(socket, leftoverInput,
httpUpgradeHandler);
}
@Override
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Jan 30
10:24:10 2015
@@ -61,9 +61,9 @@ import org.apache.tomcat.util.net.Socket
import org.apache.tomcat.util.net.SocketWrapperBase;
import org.apache.tomcat.util.res.StringManager;
-public class Http11Processor<S> extends AbstractProcessor<S> {
+public class Http11Processor extends AbstractProcessor {
- private static final Log log = LogFactory.getLog(Http11AprProtocol.class);
+ private static final Log log = LogFactory.getLog(Http11Processor.class);
/**
* The string manager for this package.
@@ -238,7 +238,7 @@ public class Http11Processor<S> extends
protected SSLSupport sslSupport;
- public Http11Processor(int maxHttpHeaderSize, AbstractEndpoint<S> endpoint,
+ public Http11Processor(int maxHttpHeaderSize, AbstractEndpoint<?> endpoint,
int maxTrailerSize, int maxExtensionSize, int maxSwallowSize) {
super(endpoint);
@@ -841,7 +841,7 @@ public class Http11Processor<S> extends
case ASYNC_COMPLETE: {
socketWrapper.clearDispatches();
if (asyncStateMachine.asyncComplete()) {
- endpoint.processSocket(this.socketWrapper,
SocketStatus.OPEN_READ, true);
+ socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
}
break;
}
@@ -855,7 +855,7 @@ public class Http11Processor<S> extends
}
case ASYNC_DISPATCH: {
if (asyncStateMachine.asyncDispatch()) {
- endpoint.processSocket(this.socketWrapper,
SocketStatus.OPEN_READ, true);
+ socketWrapper.processSocket(SocketStatus.OPEN_READ, true);
}
break;
}
@@ -892,9 +892,9 @@ public class Http11Processor<S> extends
break;
}
case DISPATCH_EXECUTE: {
- SocketWrapperBase<S> wrapper = socketWrapper;
+ SocketWrapperBase<?> wrapper = socketWrapper;
if (wrapper != null) {
- getEndpoint().executeNonBlockingDispatches(wrapper);
+ wrapper.executeNonBlockingDispatches();
}
break;
}
@@ -1017,7 +1017,7 @@ public class Http11Processor<S> extends
* @throws IOException error during an I/O operation
*/
@Override
- public SocketState process(SocketWrapperBase<S> socketWrapper)
+ public SocketState process(SocketWrapperBase<?> socketWrapper)
throws IOException {
RequestInfo rp = request.getRequestProcessor();
rp.setStage(org.apache.coyote.Constants.STAGE_PARSE);
@@ -1869,7 +1869,7 @@ public class Http11Processor<S> extends
*
* @return true if the keep-alive loop should be broken
*/
- private boolean breakKeepAliveLoop(SocketWrapperBase<S> socketWrapper) {
+ private boolean breakKeepAliveLoop(SocketWrapperBase<?> socketWrapper) {
openSocket = keepAlive;
// Do sendfile as needed: add socket to sendfile and end
if (sendfileData != null && !getErrorState().isError()) {
Modified:
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessor.java
Fri Jan 30 10:24:10 2015
@@ -35,7 +35,7 @@ import org.apache.tomcat.util.net.Socket
import org.apache.tomcat.util.net.SocketWrapperBase;
import org.apache.tomcat.util.res.StringManager;
-public class UpgradeProcessor<S> implements Processor<S>, WebConnection {
+public class UpgradeProcessor implements Processor, WebConnection {
private static final int INFINITE_TIMEOUT = -1;
@@ -140,7 +140,7 @@ public class UpgradeProcessor<S> impleme
@Override
- public final SocketState process(SocketWrapperBase<S> socketWrapper)
throws IOException {
+ public final SocketState process(SocketWrapperBase<?> socketWrapper)
throws IOException {
return null;
}
Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyAprNpnHandler.java Fri Jan 30
10:24:10 2015
@@ -82,7 +82,7 @@ public class SpdyAprNpnHandler implement
@Override
public void onStream(SpdyConnection con, SpdyStream ch)
throws IOException {
- SpdyProcessor<Long> sp = new SpdyProcessor<>(con, ep);
+ SpdyProcessor sp = new SpdyProcessor(con, ep);
sp.setAdapter(adapter);
sp.onSynStream(ch);
}
Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java Fri Jan 30
10:24:10 2015
@@ -57,7 +57,7 @@ import org.apache.tomcat.util.net.Socket
*
* Based on the AJP processor.
*/
-public class SpdyProcessor<S> extends AbstractProcessor<S> implements Runnable
{
+public class SpdyProcessor extends AbstractProcessor implements Runnable {
private static final Log log = LogFactory.getLog(SpdyProcessor.class);
@@ -82,7 +82,7 @@ public class SpdyProcessor<S> extends Ab
private boolean outCommit = false;
- public SpdyProcessor(SpdyConnection spdy, AbstractEndpoint<S> endpoint) {
+ public SpdyProcessor(SpdyConnection spdy, AbstractEndpoint<?> endpoint) {
super(endpoint);
this.spdy = spdy;
@@ -505,7 +505,7 @@ public class SpdyProcessor<S> extends Ab
}
@Override
- public SocketState process(SocketWrapperBase<S> socket)
+ public SocketState process(SocketWrapperBase<?> socket)
throws IOException {
throw new IOException("Unimplemented");
}
Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java?rev=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProxyProtocol.java Fri Jan 30
10:24:10 2015
@@ -93,7 +93,7 @@ public class SpdyProxyProtocol extends A
spdyContext.setHandler(new SpdyHandler() {
@Override
public void onStream(SpdyConnection con, SpdyStream ch) throws
IOException {
- SpdyProcessor<NioChannel> sp = new SpdyProcessor<>(con,
getEndpoint());
+ SpdyProcessor sp = new SpdyProcessor(con, getEndpoint());
sp.setAdapter(getAdapter());
sp.onSynStream(ch);
}
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=1655976&r1=1655975&r2=1655976&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Fri Jan
30 10:24:10 2015
@@ -626,6 +626,29 @@ public abstract class SocketWrapperBase<
*/
public abstract void doClientAuth(SSLSupport sslSupport);
+
+ /*
+ * TODO
+ * Temporary method to aid in some refactoring.
+ * It is currently expected that this method will be removed in a
subsequent
+ * refactoring.
+ */
+ public void processSocket(SocketStatus socketStatus, boolean dispatch) {
+ endpoint.processSocket(this, socketStatus, dispatch);
+ }
+
+
+ /*
+ * TODO
+ * Temporary method to aid in some refactoring.
+ * It is currently expected that this method will be removed in a
subsequent
+ * refactoring.
+ */
+ public void executeNonBlockingDispatches() {
+ endpoint.executeNonBlockingDispatches(this);
+ }
+
+
// --------------------------------------------------------- Utility
methods
protected static int transfer(byte[] from, int offset, int length,
ByteBuffer to) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]