public abstract class ConsumeToDynamicTerminatorDecodingState extends Object implements DecodingState
DecodingState
which consumes all bytes until a fixed (ASCII)
character is reached. The terminator is skipped.Constructor and Description |
---|
ConsumeToDynamicTerminatorDecodingState() |
Modifier and Type | Method and Description |
---|---|
DecodingState |
decode(IoBuffer in,
ProtocolDecoderOutput out)
Invoked when data is available for this state.
|
protected abstract DecodingState |
finishDecode(IoBuffer product,
ProtocolDecoderOutput out)
Invoked when this state has reached the terminator byte.
|
DecodingState |
finishDecode(ProtocolDecoderOutput out)
Invoked when the associated
IoSession is closed. |
protected abstract boolean |
isTerminator(byte b)
Determines whether the specified
byte is a terminator. |
public ConsumeToDynamicTerminatorDecodingState()
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception
decode
in interface DecodingState
in
- 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 DecodingState
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.protected abstract boolean isTerminator(byte b)
byte
is a terminator.b
- the byte
to check.b
is a terminator,
false otherwise.protected abstract DecodingState finishDecode(IoBuffer product, ProtocolDecoderOutput out) throws Exception
product
- the read bytes not including the terminator.out
- the current ProtocolDecoderOutput
used to write
decoded messages.this
for loop transitions) or null
if
the state machine has reached its end.Exception
- if the read data violated protocol specification.Copyright © 2004–2018 Apache MINA Project. All rights reserved.