Author: markt Date: Mon Nov 10 16:45:20 2014 New Revision: 1637919 URL: http://svn.apache.org/r1637919 Log: Add the Endpoint to the SocketWrapper
Modified: 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/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1637919&r1=1637918&r2=1637919&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Nov 10 16:45:20 2014 @@ -823,7 +823,7 @@ public class AprEndpoint extends Abstrac Long.valueOf(socket))); } AprSocketWrapper wrapper = - new AprSocketWrapper(Long.valueOf(socket)); + new AprSocketWrapper(Long.valueOf(socket), this); wrapper.setKeepAliveLeft(getMaxKeepAliveRequests()); wrapper.setSecure(isSSLEnabled()); connections.put(Long.valueOf(socket), wrapper); @@ -2351,8 +2351,8 @@ public class AprEndpoint extends Abstrac // This field should only be used by Poller#run() private int pollerFlags = 0; - public AprSocketWrapper(Long socket) { - super(socket); + public AprSocketWrapper(Long socket, AprEndpoint endpoint) { + super(socket, endpoint); } } } 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=1637919&r1=1637918&r2=1637919&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Mon Nov 10 16:45:20 2014 @@ -511,7 +511,7 @@ public class Nio2Endpoint extends Abstra } Nio2SocketWrapper socketWrapper = (useCaches) ? socketWrapperCache.pop() : null; if (socketWrapper == null) { - socketWrapper = new Nio2SocketWrapper(channel); + socketWrapper = new Nio2SocketWrapper(channel, this); } channel.reset(socket, socketWrapper); socketWrapper.reset(channel, getSocketProperties().getSoTimeout()); @@ -732,8 +732,8 @@ public class Nio2Endpoint extends Abstra private SendfileData sendfileData = null; private boolean upgradeInit = false; - public Nio2SocketWrapper(Nio2Channel channel) { - super(channel); + public Nio2SocketWrapper(Nio2Channel channel, Nio2Endpoint endpoint) { + super(channel, endpoint); } @Override 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=1637919&r1=1637918&r2=1637919&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Nov 10 16:45:20 2014 @@ -926,7 +926,7 @@ public class NioEndpoint extends Abstrac public void register(final NioChannel socket) { socket.setPoller(this); NioSocketWrapper key = keyCache.pop(); - final NioSocketWrapper ka = key!=null?key:new NioSocketWrapper(socket); + final NioSocketWrapper ka = key!=null?key:new NioSocketWrapper(socket, NioEndpoint.this); ka.reset(this,socket,getSocketProperties().getSoTimeout()); ka.setKeepAliveLeft(NioEndpoint.this.getMaxKeepAliveRequests()); ka.setSecure(isSSLEnabled()); @@ -1321,8 +1321,8 @@ public class NioEndpoint extends Abstrac // ----------------------------------------------------- Key Attachment Class public static class NioSocketWrapper extends SocketWrapperBase<NioChannel> { - public NioSocketWrapper(NioChannel channel) { - super(channel); + public NioSocketWrapper(NioChannel channel, NioEndpoint endpoint) { + super(channel, endpoint); } public void reset(Poller poller, NioChannel channel, long soTimeout) { 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=1637919&r1=1637918&r2=1637919&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Mon Nov 10 16:45:20 2014 @@ -26,6 +26,7 @@ import java.util.concurrent.locks.Reentr public abstract class SocketWrapperBase<E> { private volatile E socket; + private final AbstractEndpoint<E> endpoint; private volatile long lastAccess = System.currentTimeMillis(); private long timeout = -1; @@ -64,8 +65,9 @@ public abstract class SocketWrapperBase< private Set<DispatchType> dispatches = new CopyOnWriteArraySet<>(); - public SocketWrapperBase(E socket) { + public SocketWrapperBase(E socket, AbstractEndpoint<E> endpoint) { this.socket = socket; + this.endpoint = endpoint; ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); this.blockingStatusReadLock = lock.readLock(); this.blockingStatusWriteLock = lock.writeLock(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org