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 2014/11/10 17:45:21 UTC

svn commit: r1637919 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java Nio2Endpoint.java NioEndpoint.java SocketWrapperBase.java

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