Re-factoring in support of https://issues.apache.org/bugzilla/show_bug.cgi?id=50360
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 6 Dec 2010 17:16:53 +0000 (17:16 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 6 Dec 2010 17:16:53 +0000 (17:16 +0000)
Pull up timeout getters/setters.
Use -1 consistently for the default value of keepAliveTimeout

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1042726 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/coyote/AbstractProtocolHandler.java
java/org/apache/coyote/ajp/AbstractAjpProtocol.java
java/org/apache/coyote/ajp/AjpProtocol.java
java/org/apache/coyote/http11/AbstractHttp11Protocol.java
java/org/apache/tomcat/util/net/AbstractEndpoint.java

index a757b76..a5524e1 100644 (file)
@@ -200,6 +200,13 @@ public abstract class AbstractProtocolHandler implements ProtocolHandler,
     public void setSoLinger(int soLinger) { endpoint.setSoLinger(soLinger); }
 
 
+    public int getKeepAliveTimeout() { return endpoint.getKeepAliveTimeout(); }
+    public void setKeepAliveTimeout(int keepAliveTimeout) {
+        endpoint.setKeepAliveTimeout(keepAliveTimeout);
+    }
+
+
+
     // ---------------------- Properties that are passed through to the EndPoint
     // ------------------------------------ and are made available as attributes
 
@@ -217,6 +224,34 @@ public abstract class AbstractProtocolHandler implements ProtocolHandler,
     }
 
 
+    /*
+     * When Tomcat expects data from the client, this is the time Tomcat will
+     * wait for that data to arrive before closing the connection.
+     */
+    public int getConnectionTimeout() {
+        // Note that the endpoint uses the alternative name
+        return endpoint.getSoTimeout();
+    }
+    public void setConnectionTimeout(int timeout) {
+        // Note that the endpoint uses the alternative name
+        endpoint.setSoTimeout(timeout);
+        String str = Integer.toString(timeout);
+        setAttribute("connectionTimeout", str);
+        // Also set the attribute for the alternative name
+        setAttribute("soTimeout", str);
+    }
+
+    /*
+     * Alternative name for connectionTimeout property
+     */
+    public int getSoTimeout() {
+        return getConnectionTimeout();
+    }
+    public void setSoTimeout(int timeout) {
+        setConnectionTimeout(timeout);
+    }
+
+
     // -------------------------------------------------------- Abstract methods
     /**
      * Concrete implementations need to provide access to their logger to be
index a5e212e..5d0e055 100644 (file)
@@ -78,7 +78,6 @@ public abstract class AbstractAjpProtocol extends AbstractProtocolHandler {
             Registry.getRegistry(null, null).unregisterComponent(rgOname);
     }
 
-    // *
     public String getName() {
         String encodedAddr = "";
         if (getAddress() != null) {
@@ -90,9 +89,6 @@ public abstract class AbstractAjpProtocol extends AbstractProtocolHandler {
         return ("ajp-" + encodedAddr + endpoint.getPort());
     }
 
-    public int getSoTimeout() { return endpoint.getSoTimeout(); }
-    public void setSoTimeout(int soTimeout) { endpoint.setSoTimeout(soTimeout); }
-
     /**
      * Should authentication be done in the native webserver layer, 
      * or in the Servlet container ?
@@ -121,14 +117,6 @@ public abstract class AbstractAjpProtocol extends AbstractProtocolHandler {
     }
 
     
-    /**
-     * The number of seconds Tomcat will wait for a subsequent request
-     * before closing the connection.
-     */
-    protected int keepAliveTimeout = -1;
-    public int getKeepAliveTimeout() { return keepAliveTimeout; }
-    public void setKeepAliveTimeout(int timeout) { keepAliveTimeout = timeout; }
-
     // -------------------- JMX related methods --------------------
 
     protected String domain;
index 60aad85..9bac36a 100644 (file)
@@ -237,7 +237,7 @@ public class AjpProtocol extends AbstractAjpProtocol {
             processor.setAdapter(proto.adapter);
             processor.setTomcatAuthentication(proto.tomcatAuthentication);
             processor.setRequiredSecret(proto.requiredSecret);
-            processor.setKeepAliveTimeout(proto.keepAliveTimeout);
+            processor.setKeepAliveTimeout(proto.getKeepAliveTimeout());
             register(processor);
             return processor;
         }
index fe668b2..4f2193d 100644 (file)
@@ -141,37 +141,6 @@ public abstract class AbstractHttp11Protocol extends AbstractProtocolHandler {
     }
 
     /**
-     * The number of seconds Tomcat will wait for a subsequent request
-     * before closing the connection.
-     */
-    public void setKeepAliveTimeout(int keepAliveTimeout) {
-        endpoint.setKeepAliveTimeout(keepAliveTimeout);
-    }
-    
-    public int getKeepAliveTimeout() {
-        return endpoint.getKeepAliveTimeout();
-    }
-
-    public int getConnectionTimeout() {
-        return getSoTimeout();
-    }
-
-    public void setConnectionTimeout( int timeout ) {
-        setSoTimeout(timeout);
-    }
-
-    public int getSoTimeout() {
-        return endpoint.getSoTimeout();
-    }
-
-    public void setSoTimeout( int i ) {
-        endpoint.setSoTimeout(i);
-        setAttribute("soTimeout", "" + i);
-        setAttribute("connectionTimeout", "" + i);
-    }
-    
-    // *
-    /**
      * Maximum size of the post which will be saved when processing certain
      * requests, such as a POST.
      */
index 59cb848..8e3b6f6 100644 (file)
@@ -189,9 +189,11 @@ public abstract class AbstractEndpoint {
     /**
      * Keepalive timeout, if lesser or equal to 0 then soTimeout will be used.
      */
-    private int keepAliveTimeout = 0;
-    public void setKeepAliveTimeout(int keepAliveTimeout) { this.keepAliveTimeout = keepAliveTimeout; }
+    private int keepAliveTimeout = -1;
     public int getKeepAliveTimeout() { return keepAliveTimeout;}
+    public void setKeepAliveTimeout(int keepAliveTimeout) {
+        this.keepAliveTimeout = keepAliveTimeout;
+    }
 
 
     /**