Rice Pastry API

rice.pastry.socket
Class SocketPastryNode

java.lang.Object
  extended byjava.util.Observable
      extended byrice.pastry.PastryNode
          extended byrice.pastry.dist.DistPastryNode
              extended byrice.pastry.socket.SocketPastryNode
All Implemented Interfaces:
MessageReceiver, Node

public class SocketPastryNode
extends DistPastryNode

An Socket-based Pastry node, which has two threads - one thread for performing route set and leaf set maintainance, and another thread for listening on the sockets and performing all non-blocking I/O.

Version:
$Id: SocketPastryNode.java,v 1.37 2005/08/09 14:45:55 jeffh Exp $
Author:
Alan Mislove

Field Summary
 
Fields inherited from class rice.pastry.dist.DistPastryNode
leafSetMaintFreq, leafSetRoutineMaintenance, routeSetMaintFreq, routeSetRoutineMaintenance, timer
 
Fields inherited from class rice.pastry.PastryNode
apps, localhandle, myNodeId, nodeHandleSet
 
Constructor Summary
SocketPastryNode(NodeId id, Environment e)
          Constructor
 
Method Summary
 void destroy()
          Makes this node resign from the network.
 void doneNode(NodeHandle bootstrap)
          Called after the node is initialized.
 DistNodeHandlePool getNodeHandlePool()
          Returns the WireNodeHandlePool for this pastry node.
 SocketSourceRouteManager getSocketSourceRouteManager()
          Returns the SocketSourceRouteManager for this pastry node.
 void setSocketElements(EpochInetSocketAddress address, SocketSourceRouteManager srManager, SocketNodeHandlePool pool, int lsmf, int rsmf)
          Helper method which allows the WirePastryNodeFactory to initialize a number of the pastry node's elements.
 java.lang.String toString()
          Prints out a String representation of this node
 
Methods inherited from class rice.pastry.dist.DistPastryNode
addNetworkListener, broadcastReceivedListeners, broadcastSentListeners, getNetworkListeners, getTimer, initiateJoin, nodeIsReady, process, scheduleMsg, scheduleMsg, scheduleMsgAtFixedRate, scheduleMsgExpBackoff
 
Methods inherited from class rice.pastry.PastryNode
addLeafSetObserver, addRouteSetObserver, deleteLeafSetObserver, deleteRouteSetObserver, getEnvironment, getId, getIdFactory, getLeafSet, getLocalHandle, getLocalNodeHandle, getLocalNodeI, getMessageDispatch, getNodeId, getRoutingTable, isClosest, isReady, nodeIsReady, receiveMessage, registerApp, registerApplication, registerApplication, registerReceiver, setElements, setMessageDispatch, setReady, setReady
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SocketPastryNode

public SocketPastryNode(NodeId id,
                        Environment e)
Constructor

Parameters:
id - The NodeId of this Pastry node.
e - DESCRIBE THE PARAMETER
Method Detail

getSocketSourceRouteManager

public SocketSourceRouteManager getSocketSourceRouteManager()
Returns the SocketSourceRouteManager for this pastry node.

Returns:
The SocketSourceRouteManager for this pastry node.

getNodeHandlePool

public DistNodeHandlePool getNodeHandlePool()
Returns the WireNodeHandlePool for this pastry node.

Specified by:
getNodeHandlePool in class DistPastryNode
Returns:
The WireNodeHandlePool for this pastry node.

setSocketElements

public void setSocketElements(EpochInetSocketAddress address,
                              SocketSourceRouteManager srManager,
                              SocketNodeHandlePool pool,
                              int lsmf,
                              int rsmf)
Helper method which allows the WirePastryNodeFactory to initialize a number of the pastry node's elements.

Parameters:
address - The address of this pastry node.
lsmf - Leaf set maintenance frequency. 0 means never.
rsmf - Route set maintenance frequency. 0 means never.
pool - The new SocketElements value
srManager - The new SocketElements value

doneNode

public void doneNode(NodeHandle bootstrap)
Called after the node is initialized.

Overrides:
doneNode in class DistPastryNode
Parameters:
bootstrap - The node which this node should boot off of.

toString

public java.lang.String toString()
Prints out a String representation of this node

Overrides:
toString in class PastryNode
Returns:
a String

destroy

public void destroy()
Makes this node resign from the network. Is designed to be used for debugging and testing. If run on the SelectorThread, then destroys now. Other threads cause a task to be placed on the selector, and destroyed asap. Make sure to call super.destroy() !!!

Overrides:
destroy in class DistPastryNode

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection