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,
}