org.ijsberg.iglu.util.io
Class ReceiverQueue

java.lang.Object
  extended by org.ijsberg.iglu.util.io.ReceiverQueue
All Implemented Interfaces:
Queue, Receiver

public class ReceiverQueue
extends Object
implements Receiver, Queue

A message queue which receives objects from a transmitter.

See Also:
BasicChannel

Constructor Summary
ReceiverQueue()
          Constructs a receiver with an unlimited queue size.
ReceiverQueue(int limit)
          Constructs a receiver with a limited queue size.
 
Method Summary
 int available()
           
 void clear()
          Clears the queue.
 void close()
          Closes the receiver (for incoming messages) but does not clear the queue.
 int getLimit()
           
 int getNrofQueuedMessages()
           
 boolean hasNext()
           
 boolean isClosed()
           
 void onReceive(Object object)
          Receives an object from a channel.
 void onTransmissionClose()
          Queue is closed when transmission closes.
 Object read()
          Retrieves and removes the first object from the queue.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReceiverQueue

public ReceiverQueue()
Constructs a receiver with an unlimited queue size.


ReceiverQueue

public ReceiverQueue(int limit)
Constructs a receiver with a limited queue size. If the queue size is exceeded, the first object is discarded.

Parameters:
limit - maximum queue size
Method Detail

onReceive

public void onReceive(Object object)
Receives an object from a channel.

Specified by:
onReceive in interface Receiver
Parameters:
object -

read

public Object read()
Retrieves and removes the first object from the queue.

Specified by:
read in interface Queue
Returns:
the first object from the queue.

hasNext

public boolean hasNext()
Returns:
true if there are more objects waiting on the queue.

close

public void close()
Closes the receiver (for incoming messages) but does not clear the queue.

Specified by:
close in interface Queue

onTransmissionClose

public void onTransmissionClose()
Queue is closed when transmission closes.

Specified by:
onTransmissionClose in interface Receiver

isClosed

public boolean isClosed()
Specified by:
isClosed in interface Queue
Returns:
true if the receiver is closed

clear

public void clear()
Clears the queue.


getNrofQueuedMessages

public int getNrofQueuedMessages()
Returns:
queue size

available

public int available()
Specified by:
available in interface Queue
Returns:
queue size

getLimit

public int getLimit()
Returns:
maximum number of queued messages


Copyright © 2011. All Rights Reserved.