Author: mwebb
Date: Mon Mar 10 19:25:38 2008
New Revision: 635777

URL: http://svn.apache.org/viewvc?rev=635777&view=rev
Log:
added a configurable minimum connection timeout

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoConnector.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoConnector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoConnector.java?rev=635777&r1=635776&r2=635777&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoConnector.java 
(original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoConnector.java 
Mon Mar 10 19:25:38 2008
@@ -39,7 +39,7 @@
      *           Message-ID: <[EMAIL PROTECTED]>
      *              Subject: Re: connect timeout
      */
-    private static final long MINIMUM_CONNECT_TIMEOUT = 50L;
+    private long minimumConnectTimeout = 50L;
     
     private long connectTimeoutInMillis = 60*1000L; // 1 minute by default
     private SocketAddress defaultRemoteAddress;
@@ -49,7 +49,27 @@
     }
 
     /**
+     * Returns the minimum connection timeout value for this connector
+     * 
+     * @return
+     *  The minimum time that this connector can have for a connection
+     *  timeout in milliseconds.
+     */
+    public long getMinimumConnectTimeout() {
+        return minimumConnectTimeout;
+    }
+
+    public void setMinimumConnectTimeout(long minimumConnectTimeout) {
+        if( getConnectTimeoutMillis() < minimumConnectTimeout ){
+            this.connectTimeoutInMillis = minimumConnectTimeout;
+        }
+        
+        this.minimumConnectTimeout = minimumConnectTimeout;
+    }
+
+    /**
      * @deprecated
+     *  Take a look at <tt>getConnectTimeoutMillis()</tt>
      */
     public final int getConnectTimeout() {
         return (int)connectTimeoutInMillis/1000;
@@ -61,25 +81,20 @@
 
     /**
      * @deprecated
+     *  Take a look at <tt>setConnectTimeoutMillis(long)</tt>
      */
     public final void setConnectTimeout(int connectTimeout) {
-        if (connectTimeout <= 0) {
-            throw new IllegalArgumentException("connectTimeout: "
-                    + connectTimeout);
-        }
-        this.connectTimeoutInMillis = connectTimeout*1000L;
+        
+        setConnectTimeoutMillis( connectTimeout * 1000L );
     }
     
     /**
      * Sets the connect timeout value in milliseconds.
      * 
-     * @throws IllegalArgumentException if the value is smaller than 
-     * <tt>MINIMUM_CONNECT_TIMEOUT</tt>.
      */
     public final void setConnectTimeoutMillis(long connectTimeoutInMillis) {
-        if (connectTimeoutInMillis <= MINIMUM_CONNECT_TIMEOUT) {
-            throw new IllegalArgumentException("connectTimeoutInMillis: " + 
-                    connectTimeoutInMillis);
+        if (connectTimeoutInMillis <= minimumConnectTimeout) {
+            this.minimumConnectTimeout = connectTimeoutInMillis;
         }
         this.connectTimeoutInMillis = connectTimeoutInMillis;
     }


Reply via email to