# The FreePastry Tutorial.

This tutorial is designed to get you cooking quickly with the FreePastry API and software toolkit.

#### Version @tutorial_version@; @tutorial_date@. For FreePastry version @freepastry_version@. Maintained by @maintainer@.

## Contents

### Getting Started

- What You'll Need

### Lessons

- Lesson 0.a: Continuations.
- Lesson 0.b: Environment.
- Lesson 1: Minimal code to create/join a pastry ring.
- Lesson 2: Execute the code to launch your new ring.
- Lesson 3: Write a simple application using the commonAPI. (this will show you how to send and receive messages)
- Lesson 4: Running multiple nodes in the same JVM.
- Lesson 5: Scheduling tasks on the FreePastry timer.
- Lesson 6: Introducing Scribe.
- Lesson 7: Past &mdash FreePastry's DHT.
- Simulator Tutorial: Simulating Larger Networks with FreePastry's Discreet Event Simulator.
- Simulator Tutorial 2: Using a Latency Matrix with FreePastry's Discreet Event Simulator.
- Application Level Socket Interface: Manage your application's communication more precicely.
- SplitStream:Multi-Tree high-bandwidth content distribution system.

### Coming soon:

- Raw Serialization
- Advanced Scribe: Policies.
- Advanced Environment.

## What You'll Need

Before you begin, you should meet the following requirements.

1. An intermediate level of knowledge in the Java programming language. The Java Tutorial is a good place to start.
2. A copy of a current JDK, @min_jre_version@ or later. Sun's J2SE.
3. A basic understanding of Pastry overlay structure. Read the short overview [pdf][ps] of FreePastry.
4. Have a working copy of FreePastry-@freepastry_version@ or later. You can simply download the current jar, or download and build the source.