|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.mina.filter.codec.statemachine.FixedLengthDecodingState
public abstract class FixedLengthDecodingState
DecodingState
which consumes all received bytes until a configured
number of read bytes has been reached. Please note that this state can
produce a buffer with less data than the configured length if the associated
session has been closed unexpectedly.
Constructor Summary | |
---|---|
FixedLengthDecodingState(int length)
Constructs a new instance using the specified decode length. |
Method Summary | |
---|---|
DecodingState |
decode(IoBuffer in,
ProtocolDecoderOutput out)
Invoked when data is available for this state. |
protected abstract DecodingState |
finishDecode(IoBuffer product,
ProtocolDecoderOutput out)
Invoked when this state has consumed the configured number of bytes. |
DecodingState |
finishDecode(ProtocolDecoderOutput out)
Invoked when the associated IoSession is closed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FixedLengthDecodingState(int length)
length
- the number of bytes to read.Method Detail |
---|
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception
decode
in interface DecodingState
in
- the data to be decoded.out
- used to write decoded objects.
this
for loop transitions) or null
if
the state machine has reached its end.
Exception
- if the read data violated protocol specification.public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception
IoSession
is closed. This method is
useful when you deal with protocols which don't specify the length of a
message (e.g. HTTP responses without content-length header).
Implement this method to process the remaining data that
DecodingState.decode(IoBuffer, ProtocolDecoderOutput)
method didn't process
completely.
finishDecode
in interface DecodingState
out
- used to write decoded objects.
this
for loop transitions) or null
if
the state machine has reached its end.
Exception
- if the read data violated protocol specification.protected abstract DecodingState finishDecode(IoBuffer product, ProtocolDecoderOutput out) throws Exception
product
- the data.out
- the current ProtocolDecoderOutput
used to write
decoded messages.
this
for loop transitions) or null
if
the state machine has reached its end.
Exception
- if the read data violated protocol specification.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |