Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rice.tutorial.splitstream
Class MySplitStreamClient

    java.lang.Object
      rice.tutorial.splitstream.MySplitStreamClient

All Implemented Interfaces:
  Application, SplitStreamClient

    public class MySplitStreamClient

extends java.lang.Object
implements SplitStreamClient, Application

We implement the Application interface to receive regular timed messages (see lesson5). We implement the ScribeClient interface to receive scribe messages (called ScribeContent).

Author:
  Jeff Hoye

Field Summary
`static int` | `DATA_LENGTH` The lenght of a message in bytes.
`protected Endpoint` | `endpoint` The Endpoint represents the underlieing node.
`static int` | `NUM_PUBLISHES` The number of messages to publish.
`protected RandomSource` | `random` Data source...

Constructor Summary
`MySplitStreamClient(Node node)` The constructor for this scribe client.

Method Summary
`void` | `deliver(Id id, Message message)` Part of the Application interface.
`void` | `deliver(Stripe s, byte[] data)` Called whenever we receive a published message.
`boolean` | `forward(RouteMessage message)` This method is invoked on applications when the underlying node is about to forward the given message with the provided target to the specified next hop.
`void` | `joinFailed(Stripe s)` This is a call back into the application to notify it that one of the stripes was unable to to find a parent, and thus unable to recieve data.
`void` | `publish()` Multicasts data.
`void` | `startPublishTask()` Starts the publish task.
`void` | `subscribe()` Subscribes to all stripes in myChannelId.
`void` | `update(NodeHandle handle, boolean joined)` This method is invoked to inform the application that the given node has either joined or left the neighbor set of the local node, as the set would be returned by the neighborSet call.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DATA_LENGTH

    public static final int DATA_LENGTH

  The lenght of a message in bytes.

  See Also:
    Constant Field Values

### NUM_PUBLISHES

    public static final int NUM_PUBLISHES

  The number of messages to publish.

  See Also:
    Constant Field Values

### random

    protected RandomSource random

  Data source...

### endpoint

    protected Endpoint endpoint

  The Endpoint represents the underlieing node. By making calls on the Endpoint, it assures that the message will be delivered to a MyApp on whichever node the message is intended for.

Constructor Detail

### MySplitStreamClient

    public MySplitStreamClient(Node node)

  The constructor for this scribe client. It will construct the ScribeApplication.

  Parameters:
    `node` - the PastryNode

Method Detail

### subscribe

    public void subscribe()

  Subscribes to all stripes in myChannelId.

### startPublishTask

    public void startPublishTask()

  Starts the publish task.

### deliver

    public void deliver(Id id,
                        Message message)

  Part of the Application interface. Will receive PublishContent every so often.

  Specified by:
    `deliver` in interface `Application`
  Parameters:
    `id` - The destination id of the message
    `message` - The message being sent

### publish

    public void publish()

  Multicasts data.

### deliver

    public void deliver(Stripe s,
                        byte[] data)

  Called whenever we receive a published message.

  Specified by:
    `deliver` in interface `SplitStreamClient`
  Parameters:
    `s` - The stripe the data as received on
    `data` - The data that was received

### joinFailed

    public void joinFailed(Stripe s)

  Description copied from interface: `SplitStreamClient`
  This is a call back into the application to notify it that one of the stripes was unable to to find a parent, and thus unable to recieve data.

  Specified by:
    `joinFailed` in interface `SplitStreamClient`
  Parameters:
    `s` - The stripe which the join failed on

### forward

    public boolean forward(RouteMessage message)

  Description copied from interface: `Application`
  This method is invoked on applications when the underlying node is about to forward the given message with the provided target to the specified next hop. Applications can change the contents of the message, specify a different nextHop (through re-routing), or completely terminate the message.

  Specified by:
    `forward` in interface `Application`
  Parameters:
    `message` - The message being sent, containing an internal message along with a destination key and nodeHandle next hop.
  Returns:
    Whether or not to forward the message further

### update

    public void update(NodeHandle handle,
                       boolean joined)

  Description copied from interface: `Application`
  This method is invoked to inform the application that the given node has either joined or left the neighbor set of the local node, as the set would be returned by the neighborSet call.

  Specified by:
    `update` in interface `Application`
  Parameters:
    `handle` - The handle that has joined/left
    `joined` - Whether the node has joined or left

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005 - Rice Pastry.