mam.messaging
Class MessageQueue


public class MessageQueue
implements MessageReceiver, Serializable

A utility class for the mam system. Implements a simple queuing system for incoming messages - does not support any kind of priorities, etc. Intended usage: MessageReceivers allow messages to accumulate while doing whatever. receiveMessage simply adds each incoming message to the MessageQueue When ready to process messages, simply get an Enumeration of all currently waiting messages and process them in order.


Field Summary
 protected MamIdm_mamId
           
 protected Vectorm_messages
           

Constructor Summary
MessageQueue()
           

Method Summary
 synchronized AgentMessagedequeueFirstMessage()
           
 synchronized AgentMessagedequeueLastMessage()
           
 synchronized AgentMessagedequeueMessage()
           
 synchronized AgentMessagedequeueMessageFromSource(MamId desiredSource)
           
 synchronized AgentMessagedequeueMessageOfType(String desiredMessageType)
           
 synchronized voidenqueueMessage(AgentMessage incomingMessage)
           
 MamIdgetMamId()
           
 booleanhasWaitingMessages()
           
 booleanrequiresPersistence()
           
 intsize()
           

Field Detail

m_mamId

protected MamId m_mamId

m_messages

protected Vector m_messages
Constructor Detail

MessageQueue

public MessageQueue()
Method Detail

dequeueFirstMessage

public synchronized AgentMessage dequeueFirstMessage()

dequeueLastMessage

public synchronized AgentMessage dequeueLastMessage()

dequeueMessage

public synchronized AgentMessage dequeueMessage()

dequeueMessageFromSource

public synchronized AgentMessage dequeueMessageFromSource(MamId desiredSource)

dequeueMessageOfType

public synchronized AgentMessage dequeueMessageOfType(String desiredMessageType)

enqueueMessage

public synchronized void enqueueMessage(AgentMessage incomingMessage)

getMamId

public MamId getMamId()

hasWaitingMessages

public boolean hasWaitingMessages()

requiresPersistence

public boolean requiresPersistence()

size

public int size()