rice.pastry.wire
Class WirePastryNodeFactory

java.lang.Object
  extended byrice.pastry.PastryNodeFactory
      extended byrice.pastry.dist.DistPastryNodeFactory
          extended byrice.pastry.wire.WirePastryNodeFactory

public class WirePastryNodeFactory
extends DistPastryNodeFactory

Pastry node factory for Wire-linked nodes.


Field Summary
 
Fields inherited from class rice.pastry.dist.DistPastryNodeFactory
PROTOCOL_RMI, PROTOCOL_SOCKET, PROTOCOL_WIRE
 
Constructor Summary
WirePastryNodeFactory(NodeIdFactory nf, int startPort)
          Constructor.
 
Method Summary
 NodeHandle generateNodeHandle(java.net.InetSocketAddress address)
          Method which contructs a node handle (using the wire protocol) for the node at address NodeHandle.
 LeafSet getLeafSet(NodeHandle handle)
          This method returns the remote leafset of the provided handle to the caller, in a protocol-dependent fashion.
 int getProximity(NodeHandle local, NodeHandle handle)
          This method determines and returns the proximity of the current local node the provided NodeHandle.
protected  SocketCommandMessage getResponse(java.net.InetSocketAddress address, SocketCommandMessage message)
          This method anonymously sends the given message to the remote address, blocks until a response is received, and then closes the socket and returns the response.
 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)
          Method which creates a Pastry node from the next port with a randomly generated NodeId.
 PastryNode newNode(NodeHandle bootstrap, NodeId nodeId)
          Method which creates a Pastry node from the next port with a randomly generated NodeId.
 
Methods inherited from class rice.pastry.dist.DistPastryNodeFactory
getFactory, getNodeHandle
 
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

WirePastryNodeFactory

public WirePastryNodeFactory(NodeIdFactory nf,
                             int startPort)
Constructor.

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

getLeafSet

public LeafSet getLeafSet(NodeHandle handle)
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

getRouteRow

public 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. 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

getProximity

public int getProximity(NodeHandle local,
                        NodeHandle handle)
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
local - DESCRIBE THE PARAMETER
Returns:
The proximity of the provided handle

generateNodeHandle

public NodeHandle generateNodeHandle(java.net.InetSocketAddress address)
Method which contructs a node handle (using the wire protocol) for the node at address NodeHandle.

Specified by:
generateNodeHandle in class DistPastryNodeFactory
Parameters:
address - The address of the remote node.
Returns:
A NodeHandle cooresponding to that address

newNode

public PastryNode newNode(NodeHandle bootstrap)
Method which creates a Pastry node from the next port with a randomly generated NodeId.

Specified by:
newNode in class DistPastryNodeFactory
Parameters:
bootstrap - Node handle to bootstrap from.
Returns:
A node with a random ID and next port number.

newNode

public PastryNode newNode(NodeHandle bootstrap,
                          NodeId nodeId)
Method which creates a Pastry node from the next port with a randomly generated NodeId.

Specified by:
newNode in class DistPastryNodeFactory
Parameters:
bootstrap - Node handle to bootstrap from.
nodeId - DESCRIBE THE PARAMETER
Returns:
A node with a random ID and next port number.

getResponse

protected SocketCommandMessage getResponse(java.net.InetSocketAddress address,
                                           SocketCommandMessage message)
                                    throws java.io.IOException
This method anonymously sends the given message to the remote address, blocks until a response is received, and then closes the socket and returns the response.

Parameters:
address - The address to send to
message - The message to send
Returns:
The response
Throws:
java.io.IOException - DESCRIBE THE EXCEPTION





Imprint-Dataprotection