Author: trustin
Date: Thu Jul 26 00:17:47 2007
New Revision: 559730
URL: http://svn.apache.org/viewvc?view=rev&rev=559730
Log:
Fixed issue: DIRMINA-405 (IoSession.suspendRead() doesn't suspend read
operation immediately when ProtocolCodecFilter is used.)
* IoSession.receivedMessage was being increased too early.
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java?view=diff&rev=559730&r1=559729&r2=559730
==============================================================================
---
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
(original)
+++
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
Thu Jul 26 00:17:47 2007
@@ -46,14 +46,14 @@
public void write(Object message) {
messageQueue.push(message);
- if (session instanceof BaseIoSession) {
- ((BaseIoSession) session).increaseReadMessages();
- }
}
public void flush() {
while (!messageQueue.isEmpty()) {
if (session.getTrafficMask().isReadable()) {
+ if (session instanceof BaseIoSession) {
+ ((BaseIoSession) session).increaseReadMessages();
+ }
nextFilter.messageReceived(session, messageQueue.pop());
} else {
break;
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java?view=diff&rev=559730&r1=559729&r2=559730
==============================================================================
---
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
(original)
+++
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
Thu Jul 26 00:17:47 2007
@@ -48,14 +48,14 @@
public void write(Object message) {
messageQueue.add(message);
- if (session instanceof BaseIoSession) {
- ((BaseIoSession) session).increaseReadMessages();
- }
}
public void flush() {
while (!messageQueue.isEmpty()) {
if (session.getTrafficMask().isReadable()) {
+ if (session instanceof BaseIoSession) {
+ ((BaseIoSession) session).increaseReadMessages();
+ }
nextFilter.messageReceived(session, messageQueue.remove(0));
} else {
break;
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java?view=diff&rev=559730&r1=559729&r2=559730
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
Thu Jul 26 00:17:47 2007
@@ -52,14 +52,14 @@
}
messageQueue.offer(message);
- if (session instanceof BaseIoSession) {
- ((BaseIoSession) session).increaseReadMessages();
- }
}
public void flush() {
while (!messageQueue.isEmpty()) {
if (session.getTrafficMask().isReadable()) {
+ if (session instanceof BaseIoSession) {
+ ((BaseIoSession) session).increaseReadMessages();
+ }
nextFilter.messageReceived(session, messageQueue.poll());
} else {
break;