| 
 | 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 java.lang.String | BUFFER_IF_NOT_READY_PARAMDESCRIBE THE FIELD | 
| static java.lang.String | BUFFER_SIZE_PARAMDESCRIBE THE FIELD | 
| protected  PastryNode | localNodeDESCRIBE 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. | 
|  void | destroy()DESCRIBE THE METHOD | 
|  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 final java.lang.String BUFFER_IF_NOT_READY_PARAM
public static final java.lang.String BUFFER_SIZE_PARAM
| Constructor Detail | 
public MessageDispatch(PastryNode pn)
pn - DESCRIBE THE PARAMETER| Method 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()
public void destroy()
| 
 | Rice Pastry API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||