|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectrice.pastry.messaging.MessageDispatch
An object which remembers the mapping from names to MessageReceivers and dispatches messages by request. For consistent routing, modified to only deliver messages to applications if the PastryNode.isReady(). It will still deliver messages to any non-PastryAppl because these "services" may be needed to boot the node into the ring. Any messages to a PastryAppl will be buffered until the node goes ready. TODO: We need to make it explicit which apps can receive messages before PastryNode.isReady().
Field Summary | |
static boolean |
BUFFER_IF_NOT_READY
If the node is not ready, we do not deliver messages to applications. |
static int |
BUFFER_SIZE
DESCRIBE THE FIELD |
protected PastryNode |
localNode
DESCRIBE THE FIELD |
Constructor Summary | |
MessageDispatch(PastryNode pn)
Constructor. |
Method Summary | |
void |
deliverAllBufferedMessages()
Called when PastryNode.isReady() becomes true. |
protected void |
deliverBuffered(Address address)
Deliveres all buffered messages for the address. |
boolean |
dispatchMessage(Message msg)
Dispatches a message to the appropriate receiver. |
MessageReceiver |
getDestination(Message msg)
Gets the Destination attribute of the MessageDispatch object |
MessageReceiver |
getDestinationByAddress(Address addr)
Gets the DestinationByAddress attribute of the MessageDispatch object |
void |
registerReceiver(Address address,
MessageReceiver receiver)
Registers a receiver with the mail service. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected PastryNode localNode
public static int BUFFER_SIZE
public static final boolean BUFFER_IF_NOT_READY
Constructor Detail |
public MessageDispatch(PastryNode pn)
pn
- DESCRIBE THE PARAMETERMethod Detail |
public MessageReceiver getDestination(Message msg)
msg
- DESCRIBE THE PARAMETER
public MessageReceiver getDestinationByAddress(Address addr)
addr
- DESCRIBE THE PARAMETER
public void registerReceiver(Address address, MessageReceiver receiver)
receiver
- the receiver.address
- DESCRIBE THE PARAMETERpublic boolean dispatchMessage(Message msg)
msg
- the message.
protected void deliverBuffered(Address address)
address
- public void deliverAllBufferedMessages()
|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |