Author: trustin
Date: Sat Nov  3 04:18:15 2007
New Revision: 591593

URL: http://svn.apache.org/viewvc?rev=591593&view=rev
Log:
Simplified throttling policies

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottleFilter.java
    
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottlePolicy.java
    
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottleFilter.java
    
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottlePolicy.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottleFilter.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottleFilter.java?rev=591593&r1=591592&r2=591593&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottleFilter.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottleFilter.java
 Sat Nov  3 04:18:15 2007
@@ -384,34 +384,25 @@
         
         synchronized (state) {
             int sessionBufferSize = (state.sessionBufferSize += size);
-            if ((policy == ReadThrottlePolicy.BLOCK || policy == 
ReadThrottlePolicy.LOG_AND_BLOCK) && (
-                    (maxSessionBufferSize != 0 && sessionBufferSize >= 
maxSessionBufferSize) ||
+            switch (policy) {
+            case BLOCK:
+            case EXCEPTION:
+                if ((maxSessionBufferSize != 0 && sessionBufferSize >= 
maxSessionBufferSize) ||
                     (maxServiceBufferSize != 0 && serviceBufferSize >= 
maxServiceBufferSize) ||
-                    (maxGlobalBufferSize  != 0 && globalBufferSize  >= 
maxGlobalBufferSize))) {
-                session.suspendRead();
-                state.suspendedRead = true;
+                    (maxGlobalBufferSize  != 0 && globalBufferSize  >= 
maxGlobalBufferSize)) {
+                    session.suspendRead();
+                    state.suspendedRead = true;
+                }
             }
         }
-
-        switch (getPolicy()) {
-        case LOG:
-        case LOG_AND_BLOCK:
-            log(session);
-            break;
+        
+        switch (policy) {
         case CLOSE:
             session.close();
-            break;
-        case LOG_AND_CLOSE:
-            log(session);
-            session.close();
-            break;
         case EXCEPTION:
             raiseException(session);
-            break;
-        case LOG_AND_EXCEPTION:
+        case LOG:
             log(session);
-            raiseException(session);
-            break;
         }
     }
     

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottlePolicy.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottlePolicy.java?rev=591593&r1=591592&r2=591593&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottlePolicy.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/ReadThrottlePolicy.java
 Sat Nov  3 04:18:15 2007
@@ -19,11 +19,10 @@
  */
 package org.apache.mina.filter.traffic;
 
-import org.apache.mina.common.WriteFuture;
 
 /**
- * Tells [EMAIL PROTECTED] WriteThrottleFilter} what to do when there are too 
many
- * scheduled write requests in the session buffer.
+ * Tells [EMAIL PROTECTED] ReadThrottleFilter} what to do when the read buffer
+ * grows up too much.
  * 
  * @author The Apache MINA Project ([EMAIL PROTECTED])
  * @version $Rev$, $Date$
@@ -46,23 +45,6 @@
      * [EMAIL PROTECTED] OutOfMemoryError} on the reader side.
      */
     BLOCK,
-    /**
-     * Combination of [EMAIL PROTECTED] #LOG} and [EMAIL PROTECTED] #BLOCK}.
-     */
-    LOG_AND_BLOCK,
-    /**
-     * Make the write operation fail immediately.
-     * The '[EMAIL PROTECTED] WriteFuture#getException() exception}' property 
of
-     * the returned [EMAIL PROTECTED] WriteFuture} will be [EMAIL PROTECTED] 
WriteFloodException}.
-     * The exception will also be notified as an <tt>exceptionCaught</tt>
-     * event.
-     */
-    CLOSE,
-    /**
-     * Combination of [EMAIL PROTECTED] #LOG} and [EMAIL PROTECTED] #CLOSE}.
-     */
-    LOG_AND_CLOSE,
     EXCEPTION,
-    LOG_AND_EXCEPTION,
-    
+    CLOSE,
 }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottleFilter.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottleFilter.java?rev=591593&r1=591592&r2=591593&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottleFilter.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottleFilter.java
 Sat Nov  3 04:18:15 2007
@@ -269,26 +269,17 @@
         WriteThrottlePolicy policy = getPolicy();
         if (policy != WriteThrottlePolicy.OFF) {
             if (!readyToWrite(session)) {
-                switch (getPolicy()) {
-                case LOG:
-                    log(session);
+                switch (policy) {
+                case FAIL:
+                    fail(session, writeRequest);
                     break;
                 case BLOCK:
-                    block(session);
-                    break;
-                case LOG_AND_BLOCK:
                     log(session);
                     block(session);
                     break;
-                case FAIL:
-                    fail(session, writeRequest);
-                    break;
-                case LOG_AND_FAIL:
+                case LOG:
                     log(session);
-                    fail(session, writeRequest);
                     break;
-                default:
-                    throw new InternalError();    
                 }
             }
         }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottlePolicy.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottlePolicy.java?rev=591593&r1=591592&r2=591593&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottlePolicy.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/traffic/WriteThrottlePolicy.java
 Sat Nov  3 04:18:15 2007
@@ -47,10 +47,6 @@
      */
     BLOCK,
     /**
-     * Combination of [EMAIL PROTECTED] #LOG} and [EMAIL PROTECTED] #BLOCK}.
-     */
-    LOG_AND_BLOCK,
-    /**
      * Make the write operation fail immediately.
      * The '[EMAIL PROTECTED] WriteFuture#getException() exception}' property 
of
      * the returned [EMAIL PROTECTED] WriteFuture} will be [EMAIL PROTECTED] 
WriteFloodException}.
@@ -58,8 +54,4 @@
      * event.
      */
     FAIL,
-    /**
-     * Combination of [EMAIL PROTECTED] #LOG} and [EMAIL PROTECTED] #FAIL}.
-     */
-    LOG_AND_FAIL,
 }


Reply via email to