Interface Mailbox
-
- All Superinterfaces:
Clearable
,IGroupable
- All Known Subinterfaces:
AdaptableMailbox
,FallThroughCapableMailbox
public interface Mailbox extends Clearable, IGroupable
A mailbox is associated with everyReceiver
. Messages can be sent to aReceiver
by posting them into the mailbox. Different mailbox implementations may differ in the way how they deliver the posted messages.- Since:
- 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
deliverAll(MessageSelector selector)
Delivers all messages according to the given selector from this mailbox.CommunicationGroup
getCurrentGroup()
Returns theCommunicationGroup
of the receiver of this mailbox.Receiver
getReceiver()
Returns theReceiver
of this mailbox.boolean
isEmpty()
Returns true if this mailbox is empty.void
postMessage(Direction direction, Tuple update, Timestamp timestamp)
Posts a new message to this mailbox.void
setCurrentGroup(CommunicationGroup group)
Sets theCommunicationGroup
that the receiver of this mailbox is associated with.
-
-
-
Method Detail
-
postMessage
void postMessage(Direction direction, Tuple update, Timestamp timestamp)
Posts a new message to this mailbox.- Parameters:
direction
- the direction of the updateupdate
- the update element- Since:
- 2.4
-
deliverAll
void deliverAll(MessageSelector selector)
Delivers all messages according to the given selector from this mailbox. The selector can also be null. In this case, no special separation is expected between the messages.- Parameters:
selector
- the message selector
-
getCurrentGroup
CommunicationGroup getCurrentGroup()
Returns theCommunicationGroup
of the receiver of this mailbox.- Specified by:
getCurrentGroup
in interfaceIGroupable
- Returns:
- the communication group
-
setCurrentGroup
void setCurrentGroup(CommunicationGroup group)
Sets theCommunicationGroup
that the receiver of this mailbox is associated with.- Specified by:
setCurrentGroup
in interfaceIGroupable
- Parameters:
group
- the communication group
-
isEmpty
boolean isEmpty()
Returns true if this mailbox is empty.- Returns:
-
-