Rice Pastry API

rice.pastry.testing
Class HelloWorldApp

java.lang.Object
  extended byrice.pastry.client.PastryAppl
      extended byrice.pastry.testing.HelloWorldApp
All Implemented Interfaces:
java.util.Observer

public class HelloWorldApp
extends PastryAppl

A hello world example for pastry. This is the per-node app object.

Version:
$Id: HelloWorldApp.java 3274 2006-05-15 16:17:47Z jeffh $
Author:
Sitaram Iyer

Field Summary
 
Fields inherited from class rice.pastry.client.PastryAppl
address, deserializer, instance, logger, receiver, thePastryNode
 
Constructor Summary
HelloWorldApp(PastryNode pn)
          Constructor for HelloWorldApp.
 
Method Summary
 boolean enrouteMessage(Message msg, Id key, NodeHandle nextHop, SendOptions opt)
          Invoked on intermediate nodes in routing path.
 int getAddress()
          Get address.
 void leafSetChange(NodeHandle nh, boolean wasAdded)
          Invoked upon change to leafset.
 void messageForAppl(Message msg)
          Invoked on destination node when a message arrives.
 void notifyReady()
          Invoked by {RMI,Direct}PastryNode when the node has something in its leaf set, and has become ready to receive application messages.
 void routeSetChange(NodeHandle nh, boolean wasAdded)
          Invoked upon change to routing table.
 void sendRndMsg(RandomSource rng)
          Sends a message to a randomly chosen node.
 
Methods inherited from class rice.pastry.client.PastryAppl
accept, connect, deliverWhenNotReady, destroy, getLeafSet, getNodeHandle, getNodeId, getRoutingTable, isClosest, receiveMessage, receiveMessageInternal, receiveSocket, register, routeMsg, routeMsgDirect, setDeserializer, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HelloWorldApp

public HelloWorldApp(PastryNode pn)
Constructor for HelloWorldApp.

Parameters:
pn - DESCRIBE THE PARAMETER
Method Detail

getAddress

public int getAddress()
Get address.

Overrides:
getAddress in class PastryAppl
Returns:
the address of this application.

sendRndMsg

public void sendRndMsg(RandomSource rng)
Sends a message to a randomly chosen node. Yeah, for fun.

Parameters:
rng - Randon number generator.

messageForAppl

public void messageForAppl(Message msg)
Invoked on destination node when a message arrives.

Specified by:
messageForAppl in class PastryAppl
Parameters:
msg - Message being routed around

enrouteMessage

public boolean enrouteMessage(Message msg,
                              Id key,
                              NodeHandle nextHop,
                              SendOptions opt)
Invoked on intermediate nodes in routing path.

Overrides:
enrouteMessage in class PastryAppl
Parameters:
msg - Message that's passing through this node.
key - destination
nextHop - next hop
opt - send options
Returns:
true if message needs to be forwarded according to plan.

leafSetChange

public void leafSetChange(NodeHandle nh,
                          boolean wasAdded)
Invoked upon change to leafset.

Overrides:
leafSetChange in class PastryAppl
Parameters:
nh - node handle that got added/removed
wasAdded - added (true) or removed (false)

routeSetChange

public void routeSetChange(NodeHandle nh,
                           boolean wasAdded)
Invoked upon change to routing table.

Overrides:
routeSetChange in class PastryAppl
Parameters:
nh - node handle that got added/removed
wasAdded - added (true) or removed (false)

notifyReady

public void notifyReady()
Invoked by {RMI,Direct}PastryNode when the node has something in its leaf set, and has become ready to receive application messages.

Overrides:
notifyReady in class PastryAppl

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection