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.socket
Class SocketSourceRouteManager.AddressManager

    java.lang.Object
      rice.pastry.socket.SocketSourceRouteManager.AddressManager

Enclosing class:
  SocketSourceRouteManager

protected class SocketSourceRouteManager.AddressManager
extends java.lang.Object

Internal class which is tasked with maintaining the status of a single remote address. This class is in charge of all source routes to that address, as well as declaring liveness/death of this address

Version:
  $Id: pretty.settings 2305 2005-03-11 20:22:33Z jeffh $
Author:
  jeffh

Nested Class Summary
`class` | `SocketSourceRouteManager.AddressManager.SourceRouteManager` Internal class which is charges with managing the remote connection via a specific route

Field Summary
`protected SocketNodeHandle` | `address` DESCRIBE THE FIELD
`protected SourceRoute` | `best` the current best route to this remote address if best == null, we are already in a CheckDead, which means we are searching for a path
`protected int` | `liveness` DESCRIBE THE FIELD
`protected java.util.Vector` | `queue` DESCRIBE THE FIELD
`protected java.util.HashMap` | `routes` DESCRIBE THE FIELD
`protected long` | `updated` DESCRIBE THE FIELD

Constructor Summary
`SocketSourceRouteManager.AddressManager(SocketNodeHandle address, boolean search)` Constructor, given an address and whether or not it should attempt to find the best route

Method Summary
`void` | `checkLiveness()` Method which suggests a ping to the remote node.
`int` | `getLiveness()` Method which returns the last cached liveness value for the given address.
`protected SocketSourceRouteManager.AddressManager.SourceRouteManager` | `getRouteManager(SourceRoute route)` Method which returns the route manager for the given route
`protected void` | `markAlive(SourceRoute route)` This method should be called when a known route is declared alive.
`protected void` | `markDead(SourceRoute route)` This method should be called when a known route is declared dead.
`protected void` | `markDeadForever()` This method should be called when a known node is declared dead - this is ONLY called when a new epoch of that node is detected.
`protected void` | `markProximity(SourceRoute route, int proximity)` This method should be called when a known route has its proximity updated
`protected void` | `markSuspected(SourceRoute route)` This method should be called when a known route is declared suspected.
`void` | `ping()` Method which suggests a ping to the remote node.
`int` | `proximity()` Method which returns the last cached proximity value for the given address.
`protected void` | `purgeQueue()` DESCRIBE THE METHOD
`void` | `send(Message message)` Method which enqueues a message to this address
`protected void` | `setAlive()` Internal method which marks this address as being alive.
`protected void` | `setDead()` Internal method which marks this address as being dead.
`protected void` | `setDeadForever()` Internal method which marks this address as being dead.
`protected void` | `setSuspected()` Internal method which marks this address as being suspected.

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

Field Detail

### address

    protected SocketNodeHandle address

  DESCRIBE THE FIELD

### best

    protected SourceRoute best

  the current best route to this remote address if best == null, we are already in a CheckDead, which means we are searching for a path

### queue

    protected java.util.Vector queue

  DESCRIBE THE FIELD

### routes

    protected java.util.HashMap routes

  DESCRIBE THE FIELD

### liveness

    protected int liveness

  DESCRIBE THE FIELD

### updated

    protected long updated

  DESCRIBE THE FIELD

Constructor Detail

### SocketSourceRouteManager.AddressManager

    public SocketSourceRouteManager.AddressManager(SocketNodeHandle address,
                                                   boolean search)

  Constructor, given an address and whether or not it should attempt to find the best route

Parameters:
  `address` - The address
  `search` - Whether or not the manager should try and find a route

Method Detail

### getRouteManager

    protected SocketSourceRouteManager.AddressManager.SourceRouteManager getRouteManager(SourceRoute route)

  Method which returns the route manager for the given route

  Parameters:
    `route` - The route
  Returns:
    THe manager
  Throws:
    `java.lang.IllegalArgumentException` - if route is null

### getLiveness

    public int getLiveness()

  Method which returns the last cached liveness value for the given address. If there is no cached value, then true is returned.

  Returns:
    The Alive value

### setAlive

    protected void setAlive()

  Internal method which marks this address as being alive. If we were dead before, it sends an update out to the observers. best must be non-null

  Throws:
    `java.lang.IllegalStateException` - if best is null.

### setSuspected

    protected void setSuspected()

  Internal method which marks this address as being suspected.

### setDead

    protected void setDead()

  Internal method which marks this address as being dead. If we were alive or suspected before, it sends an update out to the observers.

### setDeadForever

    protected void setDeadForever()

  Internal method which marks this address as being dead. If we were alive or suspected before, it sends an update out to the observers.

### proximity

    public int proximity()

  Method which returns the last cached proximity value for the given address. If there is no cached value, then DEFAULT_PROXIMITY is returned.

  Returns:
    The ping value to the remote address

### markAlive

    protected void markAlive(SourceRoute route)

  This method should be called when a known route is declared alive.

  Parameters:
    `route` - The now-live route

### markSuspected

    protected void markSuspected(SourceRoute route)

  This method should be called when a known route is declared suspected.

  Parameters:
    `route` - The now-suspected route

### markDead

    protected void markDead(SourceRoute route)

  This method should be called when a known route is declared dead.

  Parameters:
    `route` - The now-dead route

### markDeadForever

    protected void markDeadForever()

  This method should be called when a known node is declared dead - this is ONLY called when a new epoch of that node is detected. Note that this method is silent - no checks are done. Caveat emptor.

### markProximity

    protected void markProximity(SourceRoute route,
                                 int proximity)

  This method should be called when a known route has its proximity updated

  Parameters:
    `route` - The route
    `proximity` - The proximity

### send

    public void send(Message message)

  Method which enqueues a message to this address

  Parameters:
    `message` - The message to send

### ping

    public void ping()

  Method which suggests a ping to the remote node.

### checkLiveness

    public void checkLiveness()

  Method which suggests a ping to the remote node.

### purgeQueue

    protected void purgeQueue()

  DESCRIBE THE METHOD

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.