Author: markt Date: Sun Nov 8 16:53:26 2015 New Revision: 1713256 URL: http://svn.apache.org/viewvc?rev=1713256&view=rev Log: Refactor to a single ConnectionHandler implementation
Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1713256&r1=1713255&r2=1713256&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Sun Nov 8 16:53:26 2015 @@ -657,9 +657,11 @@ public abstract class AbstractProtocol<S // ------------------------------------------- Connection handler base class - protected abstract static class AbstractConnectionHandler<S,P extends Processor> + protected static class ConnectionHandler<S,P extends Processor> implements AbstractEndpoint.Handler<S> { + private final AbstractProtocol<S> proto; + protected final RequestGroupInfo global = new RequestGroupInfo(); protected final AtomicLong registerCount = new AtomicLong(0); @@ -669,7 +671,13 @@ public abstract class AbstractProtocol<S protected final RecycledProcessors<P,S> recycledProcessors = new RecycledProcessors<>(this); - protected abstract AbstractProtocol<S> getProtocol(); + public ConnectionHandler(AbstractProtocol<S> proto) { + this.proto = proto; + } + + protected AbstractProtocol<S> getProtocol() { + return proto; + } protected Log getLog() { return getProtocol().getLog(); @@ -1010,10 +1018,10 @@ public abstract class AbstractProtocol<S protected static class RecycledProcessors<P extends Processor, S> extends SynchronizedStack<Processor> { - private final transient AbstractConnectionHandler<S,P> handler; + private final transient ConnectionHandler<S,P> handler; protected final AtomicInteger size = new AtomicInteger(0); - public RecycledProcessors(AbstractConnectionHandler<S,P> handler) { + public RecycledProcessors(ConnectionHandler<S,P> handler) { this.handler = handler; } 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=1713256&r1=1713255&r2=1713256&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Sun Nov 8 16:53:26 2015 @@ -48,7 +48,7 @@ public abstract class AbstractAjpProtoco setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); // AJP does not use Send File getEndpoint().setUseSendfile(false); - AjpConnectionHandler<S> cHandler = new AjpConnectionHandler<>(this); + ConnectionHandler<S,AjpProcessor> cHandler = new ConnectionHandler<>(this); setHandler(cHandler); getEndpoint().setHandler(cHandler); } @@ -175,20 +175,4 @@ public abstract class AbstractAjpProtoco // TODO should fail - throw IOE return null; } - - - protected static class AjpConnectionHandler<S> - extends AbstractConnectionHandler<S,AjpProcessor> { - - private final AbstractAjpProtocol<S> proto; - - public AjpConnectionHandler(AbstractAjpProtocol<S> proto) { - this.proto = proto; - } - - @Override - protected AbstractAjpProtocol<S> getProtocol() { - return proto; - } - } } 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=1713256&r1=1713255&r2=1713256&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Sun Nov 8 16:53:26 2015 @@ -52,7 +52,7 @@ public abstract class AbstractHttp11Prot public AbstractHttp11Protocol(AbstractEndpoint<S> endpoint) { super(endpoint); setSoTimeout(Constants.DEFAULT_CONNECTION_TIMEOUT); - Http11ConnectionHandler<S> cHandler = new Http11ConnectionHandler<>(this); + ConnectionHandler<S,Http11Processor> cHandler = new ConnectionHandler<>(this); setHandler(cHandler); getEndpoint().setHandler(cHandler); } @@ -650,22 +650,4 @@ public abstract class AbstractHttp11Prot return new UpgradeProcessorExternal(socket, leftoverInput, upgradeToken); } } - - - protected static class Http11ConnectionHandler<S> - extends AbstractConnectionHandler<S,Http11Processor> { - - private final AbstractHttp11Protocol<S> proto; - - - protected Http11ConnectionHandler(AbstractHttp11Protocol<S> proto) { - this.proto = proto; - } - - - @Override - protected AbstractHttp11Protocol<S> getProtocol() { - return proto; - } - } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org