Package com.biglybt.pifimpl.local.peers
Class PeerForeignNetworkConnection.imq
- java.lang.Object
-
- com.biglybt.pifimpl.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.biglybt.core.networkmanager.IncomingMessageQueue
IncomingMessageQueue.MessageQueueListener
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
imq()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
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 interfaceIncomingMessageQueue
- Parameters:
new_stream_decoder
- to use
-
getDecoder
public MessageStreamDecoder getDecoder()
- Specified by:
getDecoder
in interfaceIncomingMessageQueue
-
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 interfaceIncomingMessageQueue
- 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 interfaceIncomingMessageQueue
- 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 interfaceIncomingMessageQueue
- 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 interfaceIncomingMessageQueue
-
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 interfaceIncomingMessageQueue
-
cancelQueueListener
public void cancelQueueListener(IncomingMessageQueue.MessageQueueListener listener)
Description copied from interface:IncomingMessageQueue
Cancel queue event notification listener.- Specified by:
cancelQueueListener
in interfaceIncomingMessageQueue
-
destroy
public void destroy()
Description copied from interface:IncomingMessageQueue
Destroy this queue.- Specified by:
destroy
in interfaceIncomingMessageQueue
-
-