ePOST API

rice.pastry.testing
Class DistHelloWorld

java.lang.Object
  extended by rice.pastry.testing.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.

Version:
$Id: DistHelloWorld.java 2808 2005-11-22 14:38:49Z jeffh $
Author:
Sitaram Iyer, Peter Druschel

Field Summary
 Environment environment
           
static int protocol
           
 
Constructor Summary
DistHelloWorld(Environment env)
          Constructor
 
Method Summary
protected  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].
 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

protocol

public static int protocol

environment

public Environment environment
Constructor Detail

DistHelloWorld

public DistHelloWorld(Environment env)
               throws java.io.IOException
Constructor

Throws:
java.io.IOException
Method Detail

getBootstrap

protected 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.

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

makePastryNode

public 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.


main

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

Throws:
java.io.IOException

ePOST API

Copyright © 2001-2005 - Rice Pastry.