You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/12/10 11:03:54 UTC
svn commit: r602837 - in
/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine:
DecodingStateMachine.java DecodingStateProtocolDecoder.java
Author: trustin
Date: Mon Dec 10 02:03:42 2007
New Revision: 602837
URL: http://svn.apache.org/viewvc?rev=602837&view=rev
Log:
Fixed a silly bug that DecodingStateProtocolDecoder just dropped undecoded data.
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java?rev=602837&r1=602836&r2=602837&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java Mon Dec 10 02:03:42 2007
@@ -129,7 +129,6 @@
nextState = finishDecode(childProducts, out);
if (state == null) {
cleanup();
-
}
}
return nextState;
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java?rev=602837&r1=602836&r2=602837&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java Mon Dec 10 02:03:42 2007
@@ -21,7 +21,7 @@
import org.apache.mina.common.IoBuffer;
import org.apache.mina.common.IoSession;
-import org.apache.mina.filter.codec.ProtocolDecoder;
+import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;
/**
@@ -29,7 +29,7 @@
* @author The Apache MINA Project (dev@mina.apache.org)
* @version $Rev$, $Date$
*/
-public class DecodingStateProtocolDecoder implements ProtocolDecoder {
+public class DecodingStateProtocolDecoder extends CumulativeProtocolDecoder {
private final DecodingState state;
public DecodingStateProtocolDecoder(DecodingState stateMachine) {
@@ -39,15 +39,19 @@
this.state = stateMachine;
}
- public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out)
- throws Exception {
+ @Override
+ protected boolean doDecode(IoSession session, IoBuffer in,
+ ProtocolDecoderOutput out) throws Exception {
state.decode(in, out);
+ return !in.hasRemaining();
}
+ @Override
public void finishDecode(IoSession session, ProtocolDecoderOutput out)
throws Exception {
state.finishDecode(out);
}
+ @Override
public void dispose(IoSession session) throws Exception {}
}