Rice Pastry API

Class DistHelloWorld


public class DistHelloWorld
extends java.lang.Object

A hello world example for pastry. This is the distributed driver. For example, run with default arguments on two machines, both with args -bootstrap firstmachine. Read the messages and follow the protocols. Either separately or with the above, try -nodes 3 and -nodes 20. Try -msgs 100. Try the two machine configuration, kill it, restart, and watch it join as a different node. Do that a few times, watch LeafSet entries accumulate, then in 30 seconds, watch the maintenance take over.

$Id: DistHelloWorld.java,v 1.7 2003/05/14 06:15:01 druschel Exp $
Sitaram Iyer, Peter Druschel

Field Summary
static int protocol
Constructor Summary
Method Summary
protected  rice.pastry.NodeHandle getBootstrap(boolean firstNode)
          Gets a handle to a bootstrap node.
static void main(java.lang.String[] args)
          Usage: DistHelloWorld [-msgs m] [-nodes n] [-port p] [-bootstrap bshost[:bsport]] [-verbose|-silent|-verbosity v] [-help].
 rice.pastry.PastryNode makePastryNode(boolean firstNode)
          Create a Pastry node and add it to pastryNodes.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static int protocol
Constructor Detail


public DistHelloWorld()

Method Detail


protected rice.pastry.NodeHandle getBootstrap(boolean firstNode)
Gets a handle to a bootstrap node. First we try localhost, to see whether a previous virtual node has already bound itself there. Then we try nattempts times on bshost:bsport. Then we fail.

firstNode - true of the first virtual node is being bootstrapped on this host
handle to bootstrap node, or null.


public rice.pastry.PastryNode makePastryNode(boolean firstNode)
Create a Pastry node and add it to pastryNodes. Also create a client application for this node, so that when this node comes up ( when pn.isReady() is true) , this application's notifyReady() method is called, and it can do any interesting stuff it wants.


public static void main(java.lang.String[] args)
Usage: DistHelloWorld [-msgs m] [-nodes n] [-port p] [-bootstrap bshost[:bsport]] [-verbose|-silent|-verbosity v] [-help]. Ports p and bsport refer to RMI registry/ Socket port numbers (default = 5009). Without -bootstrap bshost[:bsport], only localhost:p is used for bootstrap. Default verbosity is 5, -verbose is 10, and -silent is -1 (error msgs only).

Rice Pastry API

Copyright © 2001 - Rice Pastry.