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.dist
Class DistNodeHandle

    java.lang.Object
      java.util.Observable
          rice.p2p.commonapi.NodeHandle
              rice.pastry.NodeHandle
                  rice.pastry.dist.DistNodeHandle

All Implemented Interfaces:
  LocalNodeI, MessageReceiver, java.util.Observer, java.io.Serializable

Direct Known Subclasses:
  DistCoalesedNodeHandle, SocketNodeHandle

public abstract class DistNodeHandle
extends NodeHandle
implements java.util.Observer

Abstract class for handles to "real" remote nodes. This class abstracts out the node handle verification which is necessary in the "real" pastry protocols, since NodeHandles are sent across the wire.

Version:
  $Id: DistNodeHandle.java,v 1.19 2005/03/11 00:58:01 jeffh Exp $
Author:
  Alan Mislove
See Also:
  Serialized Form

Field Summary
`protected java.net.InetSocketAddress` | `address` DESCRIBE THE FIELD
`protected int` | `epoch` a unique number matching the liveness of this node this number will be different each time the process is run, but the NodeId can be the same.
`protected NodeId` | `nodeId` DESCRIBE THE FIELD

Fields inherited from class rice.pastry.NodeHandle
`LIVENESS_ALIVE, LIVENESS_DEAD, LIVENESS_SUSPECTED, localnode`

Fields inherited from class rice.p2p.commonapi.NodeHandle
`DECLARED_DEAD, DECLARED_LIVE, PROXIMITY_CHANGED`

Fields inherited from interface rice.pastry.LocalNodeI
`pending`

Constructor Summary
`DistNodeHandle(NodeId nodeId, java.net.InetSocketAddress address)` Constructor

Method Summary
`abstract boolean` | `equals(java.lang.Object obj)` Equivalence relation for nodehandles.
`java.net.InetSocketAddress` | `getAddress()` Returns the IP address and port of the remote node.
`int` | `getEpoch()` Gets the epoch or session identifier of this Pastry node.
`NodeId` | `getNodeId()` Gets the nodeId of this Pastry node.
`abstract int` | `hashCode()` Hash codes for node handles.
`abstract java.lang.String` | `toString()` Returns a String representation of this DistNodeHandle.

Methods inherited from class rice.pastry.NodeHandle
`afterSetLocalNode, assertLocalNode, bootstrap, checkLiveness, getId, getLiveness, getLocalNode, isAlive, ping, proximity, setLocalNode`

Methods inherited from class java.util.Observable
`addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Observer
`update`

Methods inherited from interface rice.pastry.messaging.MessageReceiver
`receiveMessage`

Field Detail

### nodeId

    protected NodeId nodeId

  DESCRIBE THE FIELD

### address

    protected java.net.InetSocketAddress address

  DESCRIBE THE FIELD

### epoch

    protected int epoch

  a unique number matching the liveness of this node this number will be different each time the process is run, but the NodeId can be the same.

Constructor Detail

### DistNodeHandle

    public DistNodeHandle(NodeId nodeId,
                          java.net.InetSocketAddress address)

  Constructor

Parameters:
  `nodeId` - This node handle's node Id.
  `address` - DESCRIBE THE PARAMETER

Method Detail

### getNodeId

    public final NodeId getNodeId()

  Gets the nodeId of this Pastry node.

  Specified by:
    `getNodeId` in class `NodeHandle`
  Returns:
    the node id.

### getEpoch

    public int getEpoch()

  Gets the epoch or session identifier of this Pastry node.

  Returns:
    the epoch.

### getAddress

    public final java.net.InetSocketAddress getAddress()

  Returns the IP address and port of the remote node.

  Returns:
    The InetSocketAddress of the remote node.

### toString

    public abstract java.lang.String toString()

  Returns a String representation of this DistNodeHandle. This method is designed to be called by clients using the node handle, and is provided in order to ensure that the right node handle is being talked to.

  Returns:
    A String representation of the node handle.

### equals

    public abstract boolean equals(java.lang.Object obj)

  Equivalence relation for nodehandles. They are equal if and only if their corresponding NodeIds are equal.

  Specified by:
    `equals` in class `NodeHandle`
  Parameters:
    `obj` - the other nodehandle .
  Returns:
    true if they are equal, false otherwise.

### hashCode

    public abstract int hashCode()

  Hash codes for node handles. It is the hashcode of their corresponding NodeId's.

  Specified by:
    `hashCode` in class `NodeHandle`
  Returns:
    a hash code.

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.