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.pastry.direct
Class DirectPastryNodeFactory

    java.lang.Object
      rice.pastry.PastryNodeFactory
          rice.pastry.direct.DirectPastryNodeFactory

    public class DirectPastryNodeFactory

extends PastryNodeFactory

Pastry node factory for direct connections between nodes (local instances).

Version:
  $Id: DirectPastryNodeFactory.java 3613 2007-02-15 14:45:14Z jstewart $
Author:
  Andrew Ladd, Sitaram Iyer, Rongmei Zhang/Y. Charlie Hu

Field Summary

Fields inherited from class rice.pastry.PastryNodeFactory
`environment, logger, lSetSize, pingCache, rtBase, rtMax`

Constructor Summary
`DirectPastryNodeFactory(NodeIdFactory nf, NetworkSimulator sim, Environment env)` Main constructor.

Method Summary
`LeafSet` | `getLeafSet(NodeHandle handle)` This method returns the remote leafset of the provided handle to the caller, in a protocol-dependent fashion.
`CancellableTask` | `getLeafSet(NodeHandle handle, Continuation c)` Non-blocking version.
`NetworkSimulator` | `getNetworkSimulator()` Getter for the NetworkSimulator.
`int` | `getProximity(NodeHandle local, NodeHandle remote)` This method determines and returns the proximity of the current local node the provided NodeHandle.
`RouteSet[]` | `getRouteRow(NodeHandle handle, int row)` This method returns the remote route row of the provided handle to the caller, in a protocol-dependent fashion.
`CancellableTask` | `getRouteRow(NodeHandle handle, int row, Continuation c)` Non-blocking version.
`PastryNode` | `newNode(NodeHandle bootstrap)` Manufacture a new Pastry node.
`PastryNode` | `newNode(NodeHandle bootstrap, Id nodeId)` Manufacture a new Pastry node.

Methods inherited from class rice.pastry.PastryNodeFactory
`getEnvironment, getNearest, proximity, sortedProximityCache`

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

Constructor Detail

### DirectPastryNodeFactory

    public DirectPastryNodeFactory(NodeIdFactory nf,
                                   NetworkSimulator sim,
                                   Environment env)

  Main constructor.

  Parameters:
    `nf` - the NodeIdFactory
    `sim` - the NetworkSimulator
    `e` - the Enviornment

Method Detail

### getNetworkSimulator

    public NetworkSimulator getNetworkSimulator()

  Getter for the NetworkSimulator.

  Returns:
    the NetworkSimulator we are using.

### newNode

    public PastryNode newNode(NodeHandle bootstrap)

  Manufacture a new Pastry node.

  Specified by:
    `newNode` in class `PastryNodeFactory`
  Parameters:
    `bootstrap` - The node handle to bootstrap off of
  Returns:
    a new PastryNode

### newNode

    public PastryNode newNode(NodeHandle bootstrap,
                              Id nodeId)

  Manufacture a new Pastry node.

  Specified by:
    `newNode` in class `PastryNodeFactory`
  Parameters:
    `bootstrap` - The node handle to bootstrap off of
    `nodeId` - The nodeId of the new node
  Returns:
    a new PastryNode

### getLeafSet

    public LeafSet getLeafSet(NodeHandle handle)
                       throws java.io.IOException

  This method returns the remote leafset of the provided handle to the caller, in a protocol-dependent fashion. Note that this method may block while sending the message across the wire.

  Specified by:
    `getLeafSet` in class `PastryNodeFactory`
  Parameters:
    `handle` - The node to connect to
  Returns:
    The leafset of the remote node
  Throws:
    `java.io.IOException`

### getLeafSet

    public CancellableTask getLeafSet(NodeHandle handle,
                                      Continuation c)

  Description copied from class: `PastryNodeFactory`
  Non-blocking version.

  Specified by:
    `getLeafSet` in class `PastryNodeFactory`
  Returns:

### getRouteRow

    public RouteSet[] getRouteRow(NodeHandle handle,
                                  int row)
                           throws java.io.IOException

  This method returns the remote route row of the provided handle to the caller, in a protocol-dependent fashion. Note that this method may block while sending the message across the wire.

  Specified by:
    `getRouteRow` in class `PastryNodeFactory`
  Parameters:
    `handle` - The node to connect to
    `row` - The row number to retrieve
  Returns:
    The route row of the remote node
  Throws:
    `java.io.IOException`

### getRouteRow

    public CancellableTask getRouteRow(NodeHandle handle,
                                       int row,
                                       Continuation c)

  Description copied from class: `PastryNodeFactory`
  Non-blocking version.

  Specified by:
    `getRouteRow` in class `PastryNodeFactory`
  Returns:

### getProximity

    public int getProximity(NodeHandle local,
                            NodeHandle remote)

  This method determines and returns the proximity of the current local node the provided NodeHandle. This will need to be done in a protocol- dependent fashion and may need to be done in a special way.

  Specified by:
    `getProximity` in class `PastryNodeFactory`
  Parameters:
    `handle` - The handle to determine the proximity of
  Returns:
    The proximity of the provided handle

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.