Rice Pastry API

rice.pastry.direct
Class DirectPastryNode

java.lang.Object
  extended byjava.util.Observable
      extended byrice.pastry.PastryNode
          extended byrice.pastry.direct.DirectPastryNode
All Implemented Interfaces:
MessageReceiver, Node

public class DirectPastryNode
extends PastryNode

Direct pastry node. Subclasses PastryNode, and does about nothing else.

Version:
$Id: DirectPastryNode.java,v 1.15 2005/06/09 16:22:01 jeffh Exp $
Author:
Sitaram Iyer

Field Summary
protected  Timer timer
          DESCRIBE THE FIELD
 
Fields inherited from class rice.pastry.PastryNode
apps, localhandle, myNodeId, nodeHandleSet
 
Constructor Summary
DirectPastryNode(NodeId id, NetworkSimulator sim, Environment e)
          Constructor for DirectPastryNode.
 
Method Summary
 void doneNode(NodeHandle bootstrap)
          DESCRIBE THE METHOD
 void initiateJoin(NodeHandle bootstrap)
          Sends an InitiateJoin message to itself.
 void nodeIsReady()
          Called from PastryNode after the join succeeds.
 ScheduledMessage scheduleMsg(Message msg, long delay)
          Schedule the specified message to be sent to the local node after a specified delay.
 ScheduledMessage scheduleMsg(Message msg, long delay, long period)
          Schedule the specified message for repeated fixed-delay delivery to the local node, beginning after the specified delay.
 ScheduledMessage scheduleMsgAtFixedRate(Message msg, long delay, long period)
          Schedule the specified message for repeated fixed-rate delivery to the local node, beginning after the specified delay.
 void setDirectElements()
          Sets the DirectElements attribute of the DirectPastryNode object
 
Methods inherited from class rice.pastry.PastryNode
addLeafSetObserver, addRouteSetObserver, deleteLeafSetObserver, deleteRouteSetObserver, destroy, getEnvironment, getId, getIdFactory, getLeafSet, getLocalHandle, getLocalNodeHandle, getLocalNodeI, getMessageDispatch, getNodeId, getRoutingTable, isClosest, isReady, nodeIsReady, process, receiveMessage, registerApp, registerApplication, registerApplication, registerReceiver, setElements, setMessageDispatch, setReady, setReady, toString
 
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
 

Field Detail

timer

protected Timer timer
DESCRIBE THE FIELD

Constructor Detail

DirectPastryNode

public DirectPastryNode(NodeId id,
                        NetworkSimulator sim,
                        Environment e)
Constructor for DirectPastryNode.

Parameters:
id - DESCRIBE THE PARAMETER
sim - DESCRIBE THE PARAMETER
e - DESCRIBE THE PARAMETER
Method Detail

setDirectElements

public void setDirectElements()
Sets the DirectElements attribute of the DirectPastryNode object


doneNode

public void doneNode(NodeHandle bootstrap)
DESCRIBE THE METHOD

Parameters:
bootstrap - DESCRIBE THE PARAMETER

initiateJoin

public final void initiateJoin(NodeHandle bootstrap)
Sends an InitiateJoin message to itself.

Specified by:
initiateJoin in class PastryNode
Parameters:
bootstrap - Node handle to bootstrap with.

nodeIsReady

public final void nodeIsReady()
Called from PastryNode after the join succeeds.

Specified by:
nodeIsReady in class PastryNode

scheduleMsg

public ScheduledMessage scheduleMsg(Message msg,
                                    long delay)
Schedule the specified message to be sent to the local node after a specified delay. Useful to provide timeouts.

Specified by:
scheduleMsg in class PastryNode
Parameters:
msg - a message that will be delivered to the local node after the specified delay
delay - time in milliseconds before message is to be delivered
Returns:
the scheduled event object; can be used to cancel the message

scheduleMsg

public ScheduledMessage scheduleMsg(Message msg,
                                    long delay,
                                    long period)
Schedule the specified message for repeated fixed-delay delivery to the local node, beginning after the specified delay. Subsequent executions take place at approximately regular intervals separated by the specified period. Useful to initiate periodic tasks.

Specified by:
scheduleMsg in class PastryNode
Parameters:
msg - a message that will be delivered to the local node after the specified delay
delay - time in milliseconds before message is to be delivered
period - time in milliseconds between successive message deliveries
Returns:
the scheduled event object; can be used to cancel the message

scheduleMsgAtFixedRate

public ScheduledMessage scheduleMsgAtFixedRate(Message msg,
                                               long delay,
                                               long period)
Schedule the specified message for repeated fixed-rate delivery to the local node, beginning after the specified delay. Subsequent executions take place at approximately regular intervals, separated by the specified period.

Specified by:
scheduleMsgAtFixedRate in class PastryNode
Parameters:
msg - a message that will be delivered to the local node after the specified delay
delay - time in milliseconds before message is to be delivered
period - time in milliseconds between successive message deliveries
Returns:
the scheduled event object; can be used to cancel the message

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection