Class SkippingState

    • Constructor Detail

      • SkippingState

        public SkippingState()
    • Method Detail

      • decode

        public DecodingState decode​(IoBuffer in,
                                    ProtocolDecoderOutput out)
                             throws Exception
        Invoked when data is available for this state.
        Specified by:
        decode in interface DecodingState
        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

        public 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 DecodingState.decode(IoBuffer, ProtocolDecoderOutput) method didn't process completely.
        Specified by:
        finishDecode in interface DecodingState
        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.
      • canSkip

        protected abstract boolean canSkip​(byte b)
        Called to determine whether the specified byte can be skipped.
        Parameters:
        b - the byte to check.
        Returns:
        true if the byte can be skipped.
      • finishDecode

        protected abstract DecodingState finishDecode​(int skippedBytes)
                                               throws Exception
        Invoked when this state cannot skip any more bytes.
        Parameters:
        skippedBytes - the number of bytes skipped.
        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.