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, Node, NodeHandleFactory

    public class DirectPastryNode

extends PastryNode

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

Version:
  $Id: DirectPastryNode.java 3418 2006-10-11 13:22:51Z jeffh $
Author:
  Sitaram Iyer

Field Summary
`protected boolean` | `alive`
`protected Timer` | `timer`

Fields inherited from class rice.pastry.PastryNode
`apps, joinFailed, joinFailedReason, leafSet, localhandle, logger, myNodeId, routeSet`

Constructor Summary
`DirectPastryNode(Id id, NetworkSimulator sim, Environment e, NodeRecord nr)`

Method Summary
`NodeHandle` | `coalesce(NodeHandle newHandle)` DESCRIBE THE METHOD
`void` | `connect(NodeHandle remoteNode, AppSocketReceiver receiver, PastryAppl appl, int timeout)` DESCRIBE THE METHOD
`void` | `destroy()` Method which kills a PastryNode.
`void` | `doneNode(NodeHandle[] bootstrap)`
`static DirectPastryNode` | `getCurrentNode()`
`Logger` | `getLogger()`
`void` | `initiateJoin(NodeHandle[] bootstrap)` Overridden by derived classes to initiate the join process
`boolean` | `isAlive()`
`void` | `nodeIsReady()` Called from PastryNode after the join succeeds.
`int` | `proximity(NodeHandle that)` DESCRIBE THE METHOD
`NodeHandle` | `readNodeHandle(InputBuffer buf)` DESCRIBE THE METHOD
`void` | `receiveMessage(Message msg)` message receiver interface.
`void` | `route(RouteMessage rm)`
`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 nh, Message m)` DESCRIBE THE METHOD
`static DirectPastryNode` | `setCurrentNode(DirectPastryNode dpn)` Returns the previous one.

Methods inherited from class rice.pastry.PastryNode
`addDestructable, addLeafSetListener, addLeafSetObserver, addRouteSetListener, addRouteSetObserver, buildEndpoint, deleteLeafSetListener, deleteLeafSetObserver, deleteRouteSetObserver, getEnvironment, getId, getIdFactory, getLeafSet, getLocalHandle, getLocalNodeHandle, getMessageDispatch, getNodeId, getRoutingTable, isClosest, isReady, joinFailed, joinFailed, joinFailedReason, nodeIsReady, notifyReadyObservers, process, receiveMessage, registerApp, registerApplication, registerReceiver, removeDestructable, removeRouteSetListener, setElements, setMessageDispatch, setReady, setReady, setReadyStrategy, 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

### timer

    protected Timer timer

Constructor Detail

### DirectPastryNode

    public DirectPastryNode(Id id,
                            NetworkSimulator sim,
                            Environment e,
                            NodeRecord nr)

Method Detail

### setCurrentNode

    public static DirectPastryNode setCurrentNode(DirectPastryNode dpn)

  Returns the previous one.

  Parameters:
    `dnh` -
  Returns:

### getCurrentNode

    public static DirectPastryNode getCurrentNode()

### doneNode

    public void doneNode(NodeHandle[] bootstrap)

### isAlive

    public boolean isAlive()

### destroy

    public void destroy()

  Description copied from class: `PastryNode`
  Method which kills a PastryNode. Note, this doesn't implicitly kill the environment. Make sure to call super.destroy() !!!

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

### initiateJoin

    public final void initiateJoin(NodeHandle[] bootstrap)

  Description copied from class: `PastryNode`
  Overridden by derived classes to initiate the join process

  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)

  Description copied from class: `PastryNode`
  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)

  Description copied from class: `PastryNode`
  message receiver interface. synchronized so that the external message processing thread and the leafset/route maintenance thread won't interfere with application messages.

  Overrides:
    `receiveMessage` in class `PastryNode`
  Parameters:
    `msg` - DESCRIBE THE PARAMETER

### route

    public void route(RouteMessage rm)

### getLogger

    public Logger getLogger()

### proximity

    public int proximity(NodeHandle that)

  Description copied from class: `PastryNode`
  DESCRIBE THE METHOD

  Specified by:
    `proximity` in class `PastryNode`
  Parameters:
    `that` - DESCRIBE THE PARAMETER
  Returns:
    DESCRIBE THE RETURN VALUE

### send

    public void send(NodeHandle nh,
                     Message m)

  Description copied from class: `PastryNode`
  DESCRIBE THE METHOD

  Specified by:
    `send` in class `PastryNode`
  Parameters:
    `nh` - DESCRIBE THE PARAMETER
    `m` - DESCRIBE THE PARAMETER

### connect

    public void connect(NodeHandle remoteNode,
                        AppSocketReceiver receiver,
                        PastryAppl appl,
                        int timeout)

  Description copied from class: `PastryNode`
  DESCRIBE THE METHOD

  Specified by:
    `connect` in class `PastryNode`
  Parameters:
    `remoteNode` - DESCRIBE THE PARAMETER
    `receiver` - DESCRIBE THE PARAMETER
    `appl` - DESCRIBE THE PARAMETER
    `timeout` - DESCRIBE THE PARAMETER

### readNodeHandle

    public NodeHandle readNodeHandle(InputBuffer buf)

  Description copied from interface: `NodeHandleFactory`
  DESCRIBE THE METHOD

  Parameters:
    `buf` - DESCRIBE THE PARAMETER
  Returns:
    DESCRIBE THE RETURN VALUE

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.