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:
Destructable, MessageReceiver, Node

public class DirectPastryNode
extends PastryNode

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

Version:
$Id: DirectPastryNode.java 2860 2005-12-20 10:08:14Z jeffh $
Author:
Sitaram Iyer

Field Summary
protected  boolean alive
          DESCRIBE THE FIELD
protected  Timer timer
          DESCRIBE THE FIELD
 
Fields inherited from class rice.pastry.PastryNode
apps, localhandle, logger, myNodeId
 
Constructor Summary
DirectPastryNode(NodeId id, NetworkSimulator sim, Environment e, NodeRecord nr)
          Constructor for DirectPastryNode.
 
Method Summary
 NodeHandle coalesce(NodeHandle newHandle)
          DESCRIBE THE METHOD
 void destroy()
          DESCRIBE THE METHOD
 void doneNode(NodeHandle bootstrap)
          DESCRIBE THE METHOD
 void initiateJoin(NodeHandle bootstrap)
          Sends an InitiateJoin message to itself.
 boolean isAlive()
          Gets the Alive attribute of the DirectPastryNode object
 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, getEnvironment, getId, getIdFactory, getLeafSet, getLocalHandle, getLocalNodeHandle, 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

alive

protected boolean alive
DESCRIBE THE FIELD


timer

protected Timer timer
DESCRIBE THE FIELD

Constructor Detail

DirectPastryNode

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

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

isAlive

public boolean isAlive()
Gets the Alive attribute of the DirectPastryNode object

Returns:
The Alive value

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

destroy

public void destroy()
DESCRIBE THE METHOD

Specified by:
destroy in interface Destructable
Overrides:
destroy in class PastryNode

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

coalesce

public NodeHandle coalesce(NodeHandle newHandle)
DESCRIBE THE METHOD

Specified by:
coalesce in class PastryNode
Parameters:
newHandle - DESCRIBE THE PARAMETER
Returns:
DESCRIBE THE RETURN VALUE

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection