public abstract class SkippingState extends Object implements DecodingState
DecodingState which skips data until canSkip(byte) returns
false.| Constructor and Description |
|---|
SkippingState() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
canSkip(byte b)
Called to determine whether the specified byte can be skipped.
|
DecodingState |
decode(IoBuffer in,
ProtocolDecoderOutput out)
Invoked when data is available for this state.
|
protected abstract DecodingState |
finishDecode(int skippedBytes)
Invoked when this state cannot skip any more bytes.
|
DecodingState |
finishDecode(ProtocolDecoderOutput out)
Invoked when the associated
IoSession is closed. |
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception
decode in interface DecodingStatein - 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 DecodingStateout - 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 boolean canSkip(byte b)
b - the byte to check.true if the byte can be skipped.protected abstract DecodingState finishDecode(int skippedBytes) throws Exception
skippedBytes - the number of bytes skipped.this for loop transitions) or null if
the state machine has reached its end.Exception - if the read data violated protocol specification.