jist.swans.net
Interface MessageQueue

All Known Implementing Classes:
MessageQueue.NoDropMessageQueue

public interface MessageQueue

Implements a prioritized queue of items. Items are dequeued in order of their priority, where a lower value priority comes first in the queue. Priority values should be in the range [0, priorities), where priorities is the queue initialization parameter.

Since:
SWANS1.0
Version:
$Id: MessageQueue.java,v 1.8 2004/04/06 16:07:49 barr Exp $
Author:
Rimon Barr <barr+jist@cs.cornell.edu>

Nested Class Summary
static class MessageQueue.NoDropMessageQueue
           
 
Method Summary
 QueuedMessage get()
          Return first message, but do not dequeue.
 QueuedMessage get(int pri)
          Return first message of given priority, but do not dequeue.
 int getPri()
          Return priority of first queued message.
 void insert(QueuedMessage msg)
          Insert message into queue at end (with lowest priority).
 void insert(QueuedMessage msg, int pri)
          Insert message into queue with given priority.
 boolean isEmpty()
          Return whether queue is empty.
 boolean isFull()
          Return whether the queue is filled to capacity.
 QueuedMessage remove()
          Return first message and dequeue.
 QueuedMessage remove(int pri)
          Return first message with given priority and dequeue.
 int size()
          Return number of items in the queue.
 

Method Detail

isEmpty

boolean isEmpty()
Return whether queue is empty.

Returns:
whether queue is empty

isFull

boolean isFull()
Return whether the queue is filled to capacity.

Returns:
whether queue is filled to capacity

size

int size()
Return number of items in the queue.

Returns:
number of items in the queue

insert

void insert(QueuedMessage msg)
Insert message into queue at end (with lowest priority).

Parameters:
msg - message to insert

get

QueuedMessage get()
Return first message, but do not dequeue.

Returns:
first message (not dequeued)

remove

QueuedMessage remove()
Return first message and dequeue.

Returns:
first message in queue

insert

void insert(QueuedMessage msg,
            int pri)
Insert message into queue with given priority.

Parameters:
msg - message to insert
pri - message priority

getPri

int getPri()
Return priority of first queued message.

Returns:
priority of first queued message

get

QueuedMessage get(int pri)
Return first message of given priority, but do not dequeue.

Parameters:
pri - priority of message requested
Returns:
message of given priority (not dequeued), or null if no such message exists

remove

QueuedMessage remove(int pri)
Return first message with given priority and dequeue.

Parameters:
pri - priority of message requested
Returns:
message of given priority