Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rice.pastry.direct
Class DirectPastryNode

    java.lang.Object
      java.util.Observable
          rice.pastry.PastryNode
              rice.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 2957 2006-01-19 20:49:56Z jstewart $
Author:
  Sitaram Iyer

Field Summary
`protected boolean` | `alive` DESCRIBE THE FIELD
`static DirectPastryNode` | `currentNode` Used for proximity calculation of DirectNodeHandle.
`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
`Logger` | `getLogger()` Gets the Logger attribute of the DirectPastryNode object
`void` | `initiateJoin(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.
`void` | `receiveMessage(Message msg)` DESCRIBE THE METHOD
`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` | `send(NodeHandle handle, Message message)` DESCRIBE THE METHOD
`void` | `setDirectElements()` Sets the DirectElements attribute of the DirectPastryNode object

Methods inherited from class rice.pastry.PastryNode
`addLeafSetListener, addLeafSetObserver, addRouteSetListener, addRouteSetObserver, deleteLeafSetListener, deleteLeafSetObserver, deleteRouteSetObserver, getEnvironment, getId, getIdFactory, getLeafSet, getLocalHandle, getLocalNodeHandle, getMessageDispatch, getNodeId, getRoutingTable, isClosest, isReady, nodeIsReady, process, registerApp, registerApplication, registerApplication, registerReceiver, removeRouteSetListener, 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

### currentNode

    public static DirectPastryNode currentNode

  Used for proximity calculation of DirectNodeHandle. This will probably go away when we switch to a byte-level protocol.

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

### getLogger

    public Logger getLogger()

  Gets the Logger attribute of the DirectPastryNode object

  Returns:
    The Logger 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)

  DESCRIBE THE METHOD

  Specified by:
    `initiateJoin` in class `PastryNode`
  Parameters:
    `bootstrap` - DESCRIBE THE PARAMETER

### initiateJoin

    public final void initiateJoin(NodeHandle[] bootstrap)

  Sends an InitiateJoin message to itself.

  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

### receiveMessage

    public void receiveMessage(Message msg)

  DESCRIBE THE METHOD

  Specified by:
    `receiveMessage` in interface `MessageReceiver`
  Overrides:
    `receiveMessage` in class `PastryNode`
  Parameters:
    `msg` - DESCRIBE THE PARAMETER

### send

    public void send(NodeHandle handle,
                     Message message)

  DESCRIBE THE METHOD

  Specified by:
    `send` in class `PastryNode`
  Parameters:
    `handle` - DESCRIBE THE PARAMETER
    `message` - DESCRIBE THE PARAMETER

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005 - Rice Pastry.