Rice Pastry API

rice.pastry.direct
Class DirectPastryNodeFactory

java.lang.Object
  extended byrice.pastry.PastryNodeFactory
      extended byrice.pastry.direct.DirectPastryNodeFactory

public class DirectPastryNodeFactory
extends PastryNodeFactory

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

Version:
$Id: DirectPastryNodeFactory.java,v 1.34 2005/03/11 00:58:12 jeffh Exp $
Author:
Andrew Ladd, Sitaram Iyer, Rongmei Zhang/Y. Charlie Hu

Constructor Summary
DirectPastryNodeFactory(NodeIdFactory nf, NetworkSimulator sim)
          Constructor for DirectPastryNodeFactory.
 
Method Summary
 LeafSet getLeafSet(NodeHandle handle)
          This method returns the remote leafset of the provided handle to the caller, in a protocol-dependent fashion.
 NetworkSimulator getNetworkSimulator()
          Gets the NetworkSimulator attribute of the DirectPastryNodeFactory object
 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.
 PastryNode newNode(NodeHandle bootstrap)
          Manufacture a new Pastry node.
 PastryNode newNode(NodeHandle bootstrap, NodeId nodeId)
          Manufacture a new Pastry node.
 
Methods inherited from class rice.pastry.PastryNodeFactory
getNearest
 
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)
Constructor for DirectPastryNodeFactory.

Parameters:
nf - DESCRIBE THE PARAMETER
sim - DESCRIBE THE PARAMETER
Method Detail

getNetworkSimulator

public NetworkSimulator getNetworkSimulator()
Gets the NetworkSimulator attribute of the DirectPastryNodeFactory object

Returns:
The NetworkSimulator value

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 - DESCRIBE THE EXCEPTION

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 - DESCRIBE THE EXCEPTION

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:
local - DESCRIBE THE PARAMETER
remote - DESCRIBE THE PARAMETER
Returns:
The proximity of the provided handle

newNode

public PastryNode newNode(NodeHandle bootstrap)
Manufacture a new Pastry node.

Specified by:
newNode in class PastryNodeFactory
Parameters:
bootstrap - DESCRIBE THE PARAMETER
Returns:
a new PastryNode

newNode

public PastryNode newNode(NodeHandle bootstrap,
                          NodeId nodeId)
Manufacture a new Pastry node.

Specified by:
newNode in class PastryNodeFactory
Parameters:
bootstrap - DESCRIBE THE PARAMETER
nodeId - DESCRIBE THE PARAMETER
Returns:
a new PastryNode

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection