You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by mw...@apache.org on 2007/06/24 05:10:47 UTC

svn commit: r550156 - /mina/trunk/core/src/main/java/org/apache/mina/filter/ConnectionThrottleFilter.java

Author: mwebb
Date: Sat Jun 23 20:10:46 2007
New Revision: 550156

URL: http://svn.apache.org/viewvc?view=rev&rev=550156
Log:
fixed, or made clear the logic in the isConnectionOk method.

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/filter/ConnectionThrottleFilter.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/ConnectionThrottleFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/ConnectionThrottleFilter.java?view=diff&rev=550156&r1=550155&r2=550156
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/ConnectionThrottleFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/ConnectionThrottleFilter.java Sat Jun 23 20:10:46 2007
@@ -73,16 +73,32 @@
         this.allowedInterval = allowedInterval;
     }
 
-    private boolean isConnectionOk( IoSession session ){
+    /**
+     * Method responsible for deciding if a connection is OK
+     * to continue
+     * 
+     * @param session
+     * 	The new session that will be verified
+     * @return
+     * 	True if the session meets the criteria, otherwise false
+     */
+    protected boolean isConnectionOk( IoSession session ){
         SocketAddress remoteAddress = session.getRemoteAddress();
         if( remoteAddress instanceof InetSocketAddress )
         {
             long now = System.currentTimeMillis();
             InetSocketAddress addr = (InetSocketAddress)remoteAddress;
+            
             if( clients.containsKey(addr.getAddress().getHostAddress())){
                 Long time = clients.get(addr.getAddress().getHostAddress());
-                if( (now-time) > allowedInterval ){
+                clients.put(addr.getAddress().getHostAddress(), now);
+
+                // if the interval between now and the last connection is 
+                // less than the allowed interval, return false
+                if( (now-time) < allowedInterval ){
                     return false;
+                } else {
+                	return true;
                 }
             } else {
                 clients.put( addr.getAddress().getHostAddress(), now );