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 by
DecodingStateMachine.-
Method Summary
Modifier and TypeMethodDescriptiondecode(IoBuffer in, ProtocolDecoderOutput out) Invoked when data is available for this state.Invoked when the associatedIoSessionis closed.
-
Method Details
-
decode
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
thisfor loop transitions) ornullif the state machine has reached its end. - Throws:
Exception- if the read data violated protocol specification.
-
finishDecode
Invoked when the associatedIoSessionis closed. This method is useful when you deal with protocols which don't specify the length of a message (e.g. HTTP responses withoutcontent-lengthheader). 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
thisfor loop transitions) ornullif the state machine has reached its end. - Throws:
Exception- if the read data violated protocol specification.
-