|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--rice.pastry.client.PastryAppl
A PastryAppl is an abstract class that every Pastry application extends. This is the external Pastry API.
Field Summary | |
protected rice.pastry.messaging.Address |
address
|
protected java.lang.String |
instance
|
protected rice.pastry.PastryNode |
thePastryNode
|
Constructor Summary | |
PastryAppl(rice.pastry.PastryNode pn)
Constructor. |
|
PastryAppl(rice.pastry.PastryNode pn,
java.lang.String instance)
Constructor. |
Method Summary | |
boolean |
enrouteMessage(rice.pastry.messaging.Message msg,
rice.pastry.Id key,
rice.pastry.NodeId nextHop,
rice.pastry.routing.SendOptions opt)
Called by pastry when a message is enroute and is passing through this node. |
rice.pastry.messaging.Address |
getAddress()
Returns the address of this application. |
abstract rice.pastry.security.Credentials |
getCredentials()
Returns the credentials of this application. |
rice.pastry.leafset.LeafSet |
getLeafSet()
Called by a layered Pastry application to obtain a copy of the leaf set. |
rice.pastry.NodeHandle |
getNodeHandle()
Gets the handle of the Pastry node associated with this client |
rice.pastry.NodeId |
getNodeId()
Gets the node id associated with this client. |
rice.pastry.routing.RoutingTable |
getRoutingTable()
Called by a layered Pastry application to obtain a copy of the routing table. |
boolean |
isClosest(rice.pastry.NodeId key)
Called by the layered Pastry application to check if the local pastry node is the one that is currently closest to the object key id. |
void |
leafSetChange(rice.pastry.NodeHandle nh,
boolean wasAdded)
Called by pastry when the leaf set changes. |
abstract void |
messageForAppl(rice.pastry.messaging.Message msg)
Called by pastry when a message arrives for this application. |
void |
notifyReady()
Invoked when the Pastry node has joined the overlay network and is ready to send and receive messages |
void |
receiveMessage(rice.pastry.messaging.Message msg)
Called by pastry to deliver a message to this client. |
void |
registerReceiver(rice.pastry.security.Credentials cred,
rice.pastry.messaging.Address addr,
rice.pastry.messaging.MessageReceiver mr)
Registers a message receiver with the pastry node. |
void |
routeMsg(rice.pastry.Id key,
rice.pastry.messaging.Message msg,
rice.pastry.security.Credentials cred,
rice.pastry.routing.SendOptions opt)
Routes a message to the live node D with nodeId numerically closest to key (at the time of delivery). |
boolean |
routeMsgDirect(rice.pastry.NodeHandle dest,
rice.pastry.messaging.Message msg,
rice.pastry.security.Credentials cred,
rice.pastry.routing.SendOptions opt)
Sends a message to the Pastry node identified by dest. |
void |
routeSetChange(rice.pastry.NodeHandle nh,
boolean wasAdded)
Called by pastry when the route set changes. |
void |
sendMessage(rice.pastry.messaging.Message msg)
Sends a message directly to the local pastry node. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected java.lang.String instance
protected rice.pastry.PastryNode thePastryNode
protected rice.pastry.messaging.Address address
Constructor Detail |
public PastryAppl(rice.pastry.PastryNode pn)
pn
- the pastry node that client will attach to.public PastryAppl(rice.pastry.PastryNode pn, java.lang.String instance)
pn
- the pastry node that client will attach to.instance
- The instance name of this appl.Method Detail |
public rice.pastry.messaging.Address getAddress()
public final void registerReceiver(rice.pastry.security.Credentials cred, rice.pastry.messaging.Address addr, rice.pastry.messaging.MessageReceiver mr)
cred
- credentials which verify the bindingaddr
- an addressmr
- a message receiver which will be bound the address.public final void sendMessage(rice.pastry.messaging.Message msg)
msg
- a message.public void receiveMessage(rice.pastry.messaging.Message msg)
receiveMessage
in interface MessageReceiver
msg
- the message that is arriving.public final rice.pastry.NodeId getNodeId()
public rice.pastry.NodeHandle getNodeHandle()
public boolean routeMsgDirect(rice.pastry.NodeHandle dest, rice.pastry.messaging.Message msg, rice.pastry.security.Credentials cred, rice.pastry.routing.SendOptions opt)
dest
- the destination nodemsg
- the message to deliver.cred
- credentials that verify the authenticity of the message.opt
- send options that describe how the message is to be routed.public void routeMsg(rice.pastry.Id key, rice.pastry.messaging.Message msg, rice.pastry.security.Credentials cred, rice.pastry.routing.SendOptions opt)
key
- the keymsg
- the message to deliver.cred
- credentials that verify the authenticity of the message.opt
- send options that describe how the message is to be routed.public rice.pastry.leafset.LeafSet getLeafSet()
public rice.pastry.routing.RoutingTable getRoutingTable()
public boolean isClosest(rice.pastry.NodeId key)
key
- the object key id
public abstract rice.pastry.security.Credentials getCredentials()
public abstract void messageForAppl(rice.pastry.messaging.Message msg)
msg
- the message that is arriving.public boolean enrouteMessage(rice.pastry.messaging.Message msg, rice.pastry.Id key, rice.pastry.NodeId nextHop, rice.pastry.routing.SendOptions opt)
msg
- the message that is passing through.key
- the keynextHop
- the default next hop for the message.opt
- the send options the message was sent with.
public void leafSetChange(rice.pastry.NodeHandle nh, boolean wasAdded)
nh
- the handle of the node that was added or removed.wasAdded
- true if the node was added, false if the node was removed.public void routeSetChange(rice.pastry.NodeHandle nh, boolean wasAdded)
nh
- the handle of the node that was added or removed.wasAdded
- true if the node was added, false if the node was removed.public void notifyReady()
|
Rice Pastry API | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |