Class GenericMessageDecoder
java.lang.Object
com.biglybt.pifimpl.local.messaging.GenericMessageDecoder
- All Implemented Interfaces:
MessageStreamDecoder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ByteBuffer[]private intprivate booleanprivate final ByteBufferstatic final intprivate Listprivate final Stringprivate final Stringprivate int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGenericMessageDecoder(String _msg_type, String _msg_desc) -
Method Summary
Modifier and TypeMethodDescriptiondestroy()Destroy this decoder, i.e.int[]Get the details of the current message that is being received (read from the transport).intGet the number of (piece) data bytes decoded from the transport, from the last decode op.intGet the number of protocol (overhead) bytes decoded from the transport, from the last decode op.voidPause message decoding.longperformStreamDecode(Transport transport, long max_bytes) Decode message stream from the given transport.Message[]Get the messages decoded from the transport, if any, from the last decode op.voidResume message decoding.
-
Field Details
-
MAX_MESSAGE_LENGTH
public static final int MAX_MESSAGE_LENGTH- See Also:
-
length_buffer
-
buffers
-
msg_type
-
msg_desc
-
messages
-
protocol_bytes_last_read
private int protocol_bytes_last_read -
data_bytes_last_read
private int data_bytes_last_read -
destroyed
private volatile boolean destroyed
-
-
Constructor Details
-
GenericMessageDecoder
-
-
Method Details
-
performStreamDecode
Description copied from interface:MessageStreamDecoderDecode message stream from the given transport.- Specified by:
performStreamDecodein interfaceMessageStreamDecoder- Parameters:
transport- to decode frommax_bytes- to decode/read from the stream- Returns:
- number of bytes decoded
- Throws:
IOException- on decoding error
-
removeDecodedMessages
Description copied from interface:MessageStreamDecoderGet the messages decoded from the transport, if any, from the last decode op.- Specified by:
removeDecodedMessagesin interfaceMessageStreamDecoder- Returns:
- decoded messages, or null if no new complete messages were decoded
-
getProtocolBytesDecoded
public int getProtocolBytesDecoded()Description copied from interface:MessageStreamDecoderGet the number of protocol (overhead) bytes decoded from the transport, from the last decode op.- Specified by:
getProtocolBytesDecodedin interfaceMessageStreamDecoder- Returns:
- number of protocol bytes received
-
getDataBytesDecoded
public int getDataBytesDecoded()Description copied from interface:MessageStreamDecoderGet the number of (piece) data bytes decoded from the transport, from the last decode op.- Specified by:
getDataBytesDecodedin interfaceMessageStreamDecoder- Returns:
- number of data bytes received
-
getCurrentMessageProgress
public int[] getCurrentMessageProgress()Description copied from interface:MessageStreamDecoderGet the details of the current message that is being received (read from the transport).- Specified by:
getCurrentMessageProgressin interfaceMessageStreamDecoder- Returns:
- [ size, done ] or null
-
pauseDecoding
public void pauseDecoding()Description copied from interface:MessageStreamDecoderPause message decoding.- Specified by:
pauseDecodingin interfaceMessageStreamDecoder
-
resumeDecoding
public void resumeDecoding()Description copied from interface:MessageStreamDecoderResume message decoding.- Specified by:
resumeDecodingin interfaceMessageStreamDecoder
-
destroy
Description copied from interface:MessageStreamDecoderDestroy this decoder, i.e. perform cleanup.- Specified by:
destroyin interfaceMessageStreamDecoder- Returns:
- any bytes already-read and still remaining within the decoder
-