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.standard
Class PeriodicLeafSetProtocol

    java.lang.Object
      rice.pastry.client.PastryAppl
          rice.pastry.standard.PeriodicLeafSetProtocol

All Implemented Interfaces:
  MessageReceiver

public class PeriodicLeafSetProtocol
extends PastryAppl

An implementation of a periodic-style leafset protocol

Version:
  $Id: PeriodicLeafSetProtocol.java 2862 2005-12-20 10:09:37Z jeffh $
Author:
  Alan Mislove

Field Summary
`int` | `CHECK_LIVENESS_PERIOD` DESCRIBE THE FIELD
`protected Credentials` | `cred` DESCRIBE THE FIELD
`protected java.util.WeakHashMap` | `lastTimeReceivedBLS` NodeHandle -> Long remembers the TIME when we received a BLS from that NodeHandle
`protected LeafSet` | `leafSet` DESCRIBE THE FIELD
`protected NodeHandle` | `localHandle` DESCRIBE THE FIELD
`protected PastryNode` | `localNode` DESCRIBE THE FIELD
`int` | `PING_NEIGHBOR_PERIOD` Related to rapidly determining direct neighbor liveness.
`protected RoutingTable` | `routeTable` DESCRIBE THE FIELD
`protected PastrySecurityManager` | `security` DESCRIBE THE FIELD

Fields inherited from class rice.pastry.client.PastryAppl
`address, instance, logger, thePastryNode`

Constructor Summary
`PeriodicLeafSetProtocol(PastryNode ln, NodeHandle local, PastrySecurityManager sm, LeafSet ls, RoutingTable rt)` Builds a periodic leafset protocol

Method Summary
`protected void` | `broadcastAll()` Broadcast the leaf set to all members of the local leaf set.
`boolean` | `deliverWhenNotReady()` We always want to receive messages.
`void` | `destroy()` DESCRIBE THE METHOD
`Address` | `getAddress()` Get address.
`Credentials` | `getCredentials()` Gets the Credentials attribute of the PeriodicLeafSetProtocol object
`void` | `messageForAppl(Message msg)` Should not be called becasue we are overriding the receiveMessage() interface anyway.
`void` | `receiveMessage(Message msg)` Receives messages.

Methods inherited from class rice.pastry.client.PastryAppl
`enrouteMessage, getLeafSet, getNodeHandle, getNodeId, getRoutingTable, isClosest, leafSetChange, notifyReady, registerReceiver, routeMsg, routeMsgDirect, routeSetChange, sendMessage`

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

Field Detail

### localHandle

    protected NodeHandle localHandle

  DESCRIBE THE FIELD

### localNode

    protected PastryNode localNode

  DESCRIBE THE FIELD

### security

    protected PastrySecurityManager security

  DESCRIBE THE FIELD

### leafSet

    protected LeafSet leafSet

  DESCRIBE THE FIELD

### routeTable

    protected RoutingTable routeTable

  DESCRIBE THE FIELD

### lastTimeReceivedBLS

    protected java.util.WeakHashMap lastTimeReceivedBLS

  NodeHandle -> Long remembers the TIME when we received a BLS from that NodeHandle

### PING_NEIGHBOR_PERIOD

    public final int PING_NEIGHBOR_PERIOD

  Related to rapidly determining direct neighbor liveness.

### CHECK_LIVENESS_PERIOD

    public final int CHECK_LIVENESS_PERIOD

  DESCRIBE THE FIELD

### cred

    protected Credentials cred

  DESCRIBE THE FIELD

Constructor Detail

### PeriodicLeafSetProtocol

    public PeriodicLeafSetProtocol(PastryNode ln,
                                   NodeHandle local,
                                   PastrySecurityManager sm,
                                   LeafSet ls,
                                   RoutingTable rt)

  Builds a periodic leafset protocol

Parameters:
  `ln` - DESCRIBE THE PARAMETER
  `local` - DESCRIBE THE PARAMETER
  `sm` - DESCRIBE THE PARAMETER
  `ls` - DESCRIBE THE PARAMETER
  `rt` - DESCRIBE THE PARAMETER

Method Detail

### getCredentials

    public Credentials getCredentials()

  Gets the Credentials attribute of the PeriodicLeafSetProtocol object

  Specified by:
    `getCredentials` in class `PastryAppl`
  Returns:
    The Credentials value

### getAddress

    public Address getAddress()

  Get address.

  Overrides:
    `getAddress` in class `PastryAppl`
  Returns:
    gets the address.

### receiveMessage

    public void receiveMessage(Message msg)

  Receives messages.

  Specified by:
    `receiveMessage` in interface `MessageReceiver`
  Overrides:
    `receiveMessage` in class `PastryAppl`
  Parameters:
    `msg` - the message.

### broadcastAll

    protected void broadcastAll()

  Broadcast the leaf set to all members of the local leaf set.

### messageForAppl

    public void messageForAppl(Message msg)

  Should not be called becasue we are overriding the receiveMessage() interface anyway.

  Specified by:
    `messageForAppl` in class `PastryAppl`
  Parameters:
    `msg` - DESCRIBE THE PARAMETER

### deliverWhenNotReady

    public boolean deliverWhenNotReady()

  We always want to receive messages.

  Overrides:
    `deliverWhenNotReady` in class `PastryAppl`
  Returns:
    DESCRIBE THE RETURN VALUE

### destroy

    public void destroy()

  DESCRIBE THE METHOD

  Overrides:
    `destroy` in class `PastryAppl`

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.