Interface DecodingState
-
- All Known Implementing Classes:
ConsumeToCrLfDecodingState
,ConsumeToDynamicTerminatorDecodingState
,ConsumeToEndOfSessionDecodingState
,ConsumeToLinearWhitespaceDecodingState
,ConsumeToTerminatorDecodingState
,CrLfDecodingState
,DecodingStateMachine
,FixedLengthDecodingState
,IntegerDecodingState
,LinearWhitespaceSkippingState
,ShortIntegerDecodingState
,SingleByteDecodingState
,SkippingState
public interface DecodingState
Represents a state in a decoder state machine used byDecodingStateMachine
.- Author:
- Apache MINA Project
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DecodingState
decode(IoBuffer in, ProtocolDecoderOutput out)
Invoked when data is available for this state.DecodingState
finishDecode(ProtocolDecoderOutput out)
Invoked when the associatedIoSession
is closed.
-
-
-
Method Detail
-
decode
DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception
Invoked when data is available for this state.- Parameters:
in
- the data to be decoded.out
- used to write decoded objects.- Returns:
- the next state if a state transition was triggered (use
this
for loop transitions) ornull
if the state machine has reached its end. - Throws:
Exception
- if the read data violated protocol specification.
-
finishDecode
DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception
Invoked when the associatedIoSession
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 thatdecode(IoBuffer, ProtocolDecoderOutput)
method didn't process completely.- Parameters:
out
- used to write decoded objects.- Returns:
- the next state if a state transition was triggered (use
this
for loop transitions) ornull
if the state machine has reached its end. - Throws:
Exception
- if the read data violated protocol specification.
-
-