org.gudy.azureus2.pluginsimpl.local.messaging
Class MessageStreamDecoderAdapter

java.lang.Object
  extended by org.gudy.azureus2.pluginsimpl.local.messaging.MessageStreamDecoderAdapter
All Implemented Interfaces:
MessageStreamDecoder

public class MessageStreamDecoderAdapter
extends Object
implements MessageStreamDecoder


Constructor Summary
MessageStreamDecoderAdapter(MessageStreamDecoder plug_decoder)
           
 
Method Summary
 ByteBuffer destroy()
          Destroy this decoder, i.e.
 int getDataBytesDecoded()
          Get the number of (piece) data bytes decoded from the transport, from the last decode op.
 int getPercentDoneOfCurrentMessage()
          Get the percentage of the current message that has already been received (read from the transport).
 int getProtocolBytesDecoded()
          Get the number of protocol (overhead) bytes decoded from the transport, from the last decode op.
 void pauseDecoding()
          Pause message decoding.
 int performStreamDecode(Transport transport, int max_bytes)
          Decode message stream from the given transport.
 Message[] removeDecodedMessages()
          Get the messages decoded from the transport, if any, from the last decode op.
 void resumeDecoding()
          Resume message decoding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageStreamDecoderAdapter

public MessageStreamDecoderAdapter(MessageStreamDecoder plug_decoder)
Method Detail

performStreamDecode

public int performStreamDecode(Transport transport,
                               int max_bytes)
                        throws IOException
Description copied from interface: MessageStreamDecoder
Decode message stream from the given transport.

Specified by:
performStreamDecode in interface MessageStreamDecoder
Parameters:
transport - to decode from
max_bytes - to decode/read from the stream
Returns:
number of bytes decoded
Throws:
IOException - on decoding error

getPercentDoneOfCurrentMessage

public int getPercentDoneOfCurrentMessage()
Description copied from interface: MessageStreamDecoder
Get the percentage of the current message that has already been received (read from the transport).

Specified by:
getPercentDoneOfCurrentMessage in interface MessageStreamDecoder
Returns:
percentage complete (0-99), or -1 if no message is currently being received

removeDecodedMessages

public Message[] removeDecodedMessages()
Description copied from interface: MessageStreamDecoder
Get the messages decoded from the transport, if any, from the last decode op.

Specified by:
removeDecodedMessages in interface MessageStreamDecoder
Returns:
decoded messages, or null if no new complete messages were decoded

getProtocolBytesDecoded

public int getProtocolBytesDecoded()
Description copied from interface: MessageStreamDecoder
Get the number of protocol (overhead) bytes decoded from the transport, from the last decode op.

Specified by:
getProtocolBytesDecoded in interface MessageStreamDecoder
Returns:
number of protocol bytes recevied

getDataBytesDecoded

public int getDataBytesDecoded()
Description copied from interface: MessageStreamDecoder
Get the number of (piece) data bytes decoded from the transport, from the last decode op.

Specified by:
getDataBytesDecoded in interface MessageStreamDecoder
Returns:
number of data bytes received

pauseDecoding

public void pauseDecoding()
Description copied from interface: MessageStreamDecoder
Pause message decoding.

Specified by:
pauseDecoding in interface MessageStreamDecoder

resumeDecoding

public void resumeDecoding()
Description copied from interface: MessageStreamDecoder
Resume message decoding.

Specified by:
resumeDecoding in interface MessageStreamDecoder

destroy

public ByteBuffer destroy()
Description copied from interface: MessageStreamDecoder
Destroy this decoder, i.e. perform cleanup.

Specified by:
destroy in interface MessageStreamDecoder
Returns:
any bytes already-read and still remaining within the decoder