/*
 * The Spread Toolkit.
 *     
 * The contents of this file are subject to the Spread Open-Source
 * License, Version 1.0 (the ``License''); you may not use
 * this file except in compliance with the License.  You may obtain a
 * copy of the License at:
 *
 * http://www.spread.org/license/
 *
 * or in the file ``license.txt'' found in this distribution.
 *
 * Software distributed under the License is distributed on an AS IS basis, 
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
 * for the specific language governing rights and limitations under the 
 * License.
 *
 * The Creators of Spread are:
 *  Yair Amir, Michal Miskin-Amir, Jonathan Stanton, John Schultz.
 *
 *  Copyright (C) 1993-2006 Spread Concepts LLC <info@spreadconcepts.com>
 *
 *  All Rights Reserved.
 *
 * Major Contributor(s):
 * ---------------
 *    Ryan Caudy           rcaudy@gmail.com - contributions to process groups.
 *    Cristina Nita-Rotaru crisn@cs.purdue.edu - group communication security.
 *    Theo Schlossnagle    jesus@omniti.com - Perl, autoconf, old skiplist.
 *    Dan Schoenblum       dansch@cnds.jhu.edu - Java interface.
 *
 */


This is the Java library for Spread along with some sample programs.

To compile the library run:

javac spread/*.java -d ./ from this directory. That will fill the 'spread'
subdirectory with all the .class files. (on Windows the '/' in the above
command need to be '\' ).

If you have the Ant build system <http://ant.apache.org/> installed, 
alternately you can run:

ant

Or, to produce a JAR file:

ant jar

To compile the applications run:

javac User.java 

and

javac Flooder.java

or

ant sample-apps

Documentation exists in the docs direcory. the java.html page gives 
an introduction to the Spread Java interface and the rest of the files
are generated by javadoc.

To rebuild it run:
mkdir docs
javadoc -sourcepath spread/ -verbose -windowtitle 'Spread for Java' \
  -nodeprecated -d docs spread/*.java

or

ant javadocs

To run the User and Flooder programs you need to have a Spread daemon
running (see main package for how to build and run one). Then you can do

java User -s machine_name_running_spread_daemon -p port_of_daemon 

or 

java User -s machine_name_running_spread_daemon -p port_of_daemon 


If you want to run multiple copies of the application add the -u username 
parameter to the commandline giving each instance of the application a
new username.
