Package io.joynr.messaging.routing
Class MessageQueue
- java.lang.Object
-
- io.joynr.messaging.routing.MessageQueue
-
public class MessageQueue extends Object
This class holds the queued messages which are to be processed in theMessageRouter.
-
-
Constructor Summary
Constructors Constructor Description MessageQueue(DelayQueue<DelayableImmutableMessage> delayableImmutableMessages)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DelayableImmutableMessagepoll(long timeout, TimeUnit unit)Polls the message queue for a period no longer than the timeout specified for a new message.voidput(DelayableImmutableMessage delayableImmutableMessage)Add the passed in message to the queue of messages to be processed.
-
-
-
Constructor Detail
-
MessageQueue
@Inject public MessageQueue(DelayQueue<DelayableImmutableMessage> delayableImmutableMessages)
-
-
Method Detail
-
put
public void put(DelayableImmutableMessage delayableImmutableMessage)
Add the passed in message to the queue of messages to be processed.- Parameters:
delayableImmutableMessage- the message to add.
-
poll
public DelayableImmutableMessage poll(long timeout, TimeUnit unit) throws InterruptedException
Polls the message queue for a period no longer than the timeout specified for a new message.- Parameters:
timeout- the maximum time to wait for a message to become available.unit- the time unit of measurement fortimeout- Returns:
- a new message if one is available, or
nullif none became available within the specified time limit. - Throws:
InterruptedException- if the thread was interrupted while waiting for a message to become available.
-
-