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 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 this for loop transitions) or null 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 associated 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 decode(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) or null if the state machine has reached its end.
      Throws:
      Exception - if the read data violated protocol specification.