org.gudy.azureus2.pluginsimpl.local.peers
Class PeerForeignNetworkConnection.imq

java.lang.Object
  extended by org.gudy.azureus2.pluginsimpl.local.peers.PeerForeignNetworkConnection.imq
All Implemented Interfaces:
IncomingMessageQueue
Enclosing class:
PeerForeignNetworkConnection

protected class PeerForeignNetworkConnection.imq
extends java.lang.Object
implements IncomingMessageQueue


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.aelitis.azureus.core.networkmanager.IncomingMessageQueue
IncomingMessageQueue.MessageQueueListener
 
Constructor Summary
protected PeerForeignNetworkConnection.imq()
           
 
Method Summary
 void cancelQueueListener(IncomingMessageQueue.MessageQueueListener listener)
          Cancel queue event notification listener.
 void destroy()
          Destroy this queue.
 MessageStreamDecoder getDecoder()
           
 int getPercentDoneOfCurrentMessage()
          Get the percentage of the current message that has already been received.
 void notifyOfExternallyReceivedMessage(Message message)
          Notifty the queue (and its listeners) of a message received externally on the queue's behalf.
 int[] receiveFromTransport(int max_bytes, boolean protocol_is_free)
          Receive (read) message(s) data from the underlying transport.
 void registerQueueListener(IncomingMessageQueue.MessageQueueListener listener)
          Add a listener to be notified of queue events.
 void resumeQueueProcessing()
          Manually resume processing (reading) incoming messages.
 void setDecoder(MessageStreamDecoder new_stream_decoder)
          Set the message stream decoder that will be used to decode incoming messages.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PeerForeignNetworkConnection.imq

protected PeerForeignNetworkConnection.imq()
Method Detail

setDecoder

public void setDecoder(MessageStreamDecoder new_stream_decoder)
Description copied from interface: IncomingMessageQueue
Set the message stream decoder that will be used to decode incoming messages.

Specified by:
setDecoder in interface IncomingMessageQueue
Parameters:
new_stream_decoder - to use

getDecoder

public MessageStreamDecoder getDecoder()
Specified by:
getDecoder in interface IncomingMessageQueue

getPercentDoneOfCurrentMessage

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

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

receiveFromTransport

public int[] receiveFromTransport(int max_bytes,
                                  boolean protocol_is_free)
                           throws java.io.IOException
Description copied from interface: IncomingMessageQueue
Receive (read) message(s) data from the underlying transport.

Specified by:
receiveFromTransport in interface IncomingMessageQueue
Parameters:
max_bytes - to read
Returns:
number of bytes received as [data, protocol]
Throws:
java.io.IOException - on receive error

notifyOfExternallyReceivedMessage

public void notifyOfExternallyReceivedMessage(Message message)
Description copied from interface: IncomingMessageQueue
Notifty the queue (and its listeners) of a message received externally on the queue's behalf.

Specified by:
notifyOfExternallyReceivedMessage in interface IncomingMessageQueue
Parameters:
message - received externally

resumeQueueProcessing

public void resumeQueueProcessing()
Description copied from interface: IncomingMessageQueue
Manually resume processing (reading) incoming messages. NOTE: Allows us to resume docoding externally, in case it was auto-paused internally.

Specified by:
resumeQueueProcessing in interface IncomingMessageQueue

registerQueueListener

public void registerQueueListener(IncomingMessageQueue.MessageQueueListener listener)
Description copied from interface: IncomingMessageQueue
Add a listener to be notified of queue events.

Specified by:
registerQueueListener in interface IncomingMessageQueue

cancelQueueListener

public void cancelQueueListener(IncomingMessageQueue.MessageQueueListener listener)
Description copied from interface: IncomingMessageQueue
Cancel queue event notification listener.

Specified by:
cancelQueueListener in interface IncomingMessageQueue

destroy

public void destroy()
Description copied from interface: IncomingMessageQueue
Destroy this queue.

Specified by:
destroy in interface IncomingMessageQueue