A C D F G H I L M N O P R S T U W

A

addLogEntry(Node) - Method in class RoutingTable
Adds an entry to the log.

C

cleanTable() - Method in class RoutingTable
Clears out the table -- throws away all next hop information and and log info that might exist, and turns off logging.
clearTableOf(Node) - Method in class RoutingTable
Eliminates all entries that have the given node as their next hop, and makes distance to the destination infinite.
computeGroundTruth() - Method in class ReachabilityChecker
Compute the ground truth - reachability given the current set of routing tables (which had better be reliable at the point this is called).
ConstAlg - Class in <Unnamed>
Symbolic constants that represent tuning parameters of the underlying algorithm (which is a kind of distance vector in the base code).
ConstAlg() - Constructor for class ConstAlg
 
ConstConfig - Class in <Unnamed>
Symbolic constants that control what the built code does (in the flavor of C's #ifdef, more or less).
ConstConfig() - Constructor for class ConstConfig
 
ConstSysProperties - Class in <Unnamed>
These control the behavior of the simulated system.
ConstSysProperties() - Constructor for class ConstSysProperties
 
createVertex() - Method in class DVNodeFactory
 

D

DEBUG - Static variable in class ConstConfig
If set to true, 'helpful' trace information about nodes going down and recovering is printed.
dist - Variable in class RoutingTable.Entry
 
doLog - Variable in class RoutingTable
Controls whether or not logging is performed.
DVNode - Class in <Unnamed>
Distance Vector algorithm implementing node.
DVNode() - Constructor for class DVNode
 
DVNodeFactory - Class in <Unnamed>
A class that knows how to create DVNodes.
DVNodeFactory() - Constructor for class DVNodeFactory
 
DVUpdatePacket - Class in <Unnamed>
DVUpdatePackets carry routing table update logs, as well as the usual UpdatePacket information.

F

failed - Variable in class Node
Indicator of whether or not this node has failed
FAILED_TIMEOUT - Static variable in class ConstAlg
This value determines how many slots have to pass without hearing from a neighbor before a node decides that neighbor is down.
failNode(int) - Method in class Network
Mark a node as non-operational.
failureEvent() - Method in class DVNode
This method is invoked (by Node.java) when a previously running node goes down.
failureEvent() - Method in class Node
Invoked when this node fails.
fromNode - Variable in class UpdatePacket
Source node (sender of this update packet).

G

getActualNumReachable() - Method in class ReachabilityChecker
Returns the number of (src,dst) pairs actually reachable, as computed last time computeGroundTruth() was invoked.
getAvailableFraction() - Method in class ScoreKeeper
Get average fration of N*(N-1) pairs that can communicate.
getDistTo(Node) - Method in class RoutingTable
 
getHopTo(Node) - Method in class RoutingTable
 
getLog() - Method in class RoutingTable
Accessor for log.
getNetwork() - Static method in class Network
There can be only one network in an application.
getNodeArray() - Method in class Network
 
getNumActiveEntries() - Method in class ReachabilityChecker
Returns the number of routing table entries in non-failed nodes, as computed last time measureReachability() was invoked.
getNumCorrect() - Method in class ReachabilityChecker
Returns the number of correct routing table entries, as computed last time measureReachability() was invoked.
getNumInitialFailures() - Static method in class sim
 
getNumReachable() - Method in class ReachabilityChecker
Returns the number of reachable (src,dst) pairs, as computed last time measureReachability() was invoked.
getReachableFraction() - Method in class ScoreKeeper
Get average fraction of reachable pairs reachable through routing tables.
getRoutingTable() - Method in class Node
 
getScore() - Method in class ScoreKeeper
Get current score.
getScoreKeeper() - Static method in class ScoreKeeper
There can be only one ScoreKeeper object in a run.
getTime() - Static method in class sim
 
getUID() - Method in class Node
 

H

hasChanged() - Method in class Network
Returns true if the network has changed (nodes added or deleted) since the last invocation of takeStep(), false otherwise.
hasFailed() - Method in class Node
 

I

INFINITY - Static variable in class ConstAlg
A really big number looks like INFINITY from where we sit.
initialize() - Method in class Network
This method MUST BE invoked after construction to finalize creation of the Network object.
isLogging() - Method in class RoutingTable
Returns true if table is currently logging changes, false otherwise.

L

lastHeardDelay - Variable in class Node
Each neighbor has a time since last heard from
lastUpdatedSlot - Variable in class Node
Time slot in which we last ran
log - Variable in class DVUpdatePacket
Routing table pdate information.
log - Variable in class RoutingTable
The 'diff' log used to record changes to the table.

M

main(String[]) - Static method in class sim
This is THE mainline -- invoke this app by invoking it.
measureReachability() - Method in class ReachabilityChecker
This method computes reachability given the current routing tables and then compares it to the ground truth.
MyRandom - Class in <Unnamed>
This class is a simple subclass of java.util.Random that allows repeatability -- it can either use an initialization seed or not.
MYRANDOM_SEED - Static variable in class ConstConfig
Seed used if REPEATABLE_RUN is set to true.

N

neighbor - Variable in class Node
Each node has a current list of neighbors
neighborFailureEvent(Node) - Method in class DVNode
Invoked when a timeout indicates that a neighbor node has failed.
neighborFailureEvent(Node) - Method in class Node
Invoked when a timeout indicates that a neighbor node has failed.
Network - Class in <Unnamed>
Class representing an entire network.
Network(int, int, VertexFactory<Node>) - Constructor for class Network
Constructor leading to a randomly generated topology.
Network(String, VertexFactory<Node>) - Constructor for class Network
Constructor that generates the Network using a description in a file.
nextHop - Variable in class RoutingTable.Entry
 
Node - Class in <Unnamed>
Abstract base class of DV and LS node types.
Node() - Constructor for class Node
 
NODE_MTF - Static variable in class ConstSysProperties
Mean time to failure for each individual node, measured in time steps.
NODE_MTR - Static variable in class ConstSysProperties
Mean time to recovery for each individual node, measured in time steps.
numEdges() - Method in class Network
 
numNodes() - Method in class Network
 

O

oracleComputeRoutingTable() - Method in class Node
Fills in the routing table using an oracle (i.e., reliable/correct) view of network connectivity.
oracleFillTable(RoutingTable) - Method in class Node
Fills in the routing table using an oracle (i.e., reliable/correct) view of network connectivity.

P

processUpdate(UpdatePacket) - Method in class DVNode
Called for each update packet in this node's queue when it is selected to run during a time step.
processUpdate(UpdatePacket) - Method in class Node
Called for each update packet in this node's queue when it is selected to run during a time step.

R

rand - Static variable in class Node
 
ReachabilityChecker - Class in <Unnamed>
This class implements simple check(s) on the connectivity provided by the current routing tables.
ReachabilityChecker() - Constructor for class ReachabilityChecker
 
reachabilitySample(int, int, int, int) - Method in class ScoreKeeper
Inform scorekeeper about reachability of a time step.
recoveryEvent() - Method in class DVNode
This method is invoked (by Node.java) when a previously failed node comes back online.
recoveryEvent() - Method in class Node
Invoked when this node recovers from a failure.
REPEATABLE_RUN - Static variable in class ConstConfig
It's often handy to be able to re-run a trial, for debugging purposes.
reset() - Method in class ScoreKeeper
Reset all acculated statistics to zero.
RoutingTable - Class in <Unnamed>
For simplicity, there is only one routing table class.
RoutingTable() - Constructor for class RoutingTable
Routing tables are always the size of the number of nodes in the sole Network object that exists.
RoutingTable.Entry - Class in <Unnamed>
A class encapsulated the notion of a routing table entry.
RoutingTable.Entry() - Constructor for class RoutingTable.Entry
 
RoutingTable.Entry(RoutingTable.Entry) - Constructor for class RoutingTable.Entry
Copy constructor.

S

ScoreKeeper - Class in <Unnamed>
This class keeps track of scoring for the run.
sendUpdatePacket(Node, UpdatePacket) - Method in class Node
Send an update packet
sentUpdate() - Method in class ScoreKeeper
Inform scorekeeper that an update packet is being sent.
setEntry(Node, Node, int) - Method in class RoutingTable
Sets an entry -- both next hop and distance.
setHasFailed(boolean) - Method in class Node
Allows manipulation of failure/recovery of this node.
setupNeighborInformation() - Method in class Node
Called as an initialization step, once the network topology is finalized.
sim - Class in <Unnamed>
This is the mainline that drives the simulation.
sim() - Constructor for class sim
 
size() - Method in class RoutingTable
Returns the number of entries in the routing table.
startLog() - Method in class RoutingTable
Indicate that want to keep log of changes starting now.
startUpdate() - Method in class DVNode
When this node is selected to run during a time step, the "driver" code in Node.java: first calls this routine (startUpdate()) then with high, but not certain, probability calls processUpdate() for each update packet in the node's queue
  • startUpdate() - Method in class Node
    When this node is selected to run during a time step, the "driver" code in Node.java: first calls this routine (startUpdate()) then with high, but not certain, probability calls processUpdate() for each update packet in the node's queue
  • stopLog() - Method in class RoutingTable
    Turn off logging.
    stopUpdate() - Method in class DVNode
    See comment before startUpdate().
    stopUpdate() - Method in class Node
    See startUpdate().
    swapInQueues() - Method in class Node
    Swaps the current and future in queues.

  • T

    table - Variable in class RoutingTable
    The actual routing table.
    takeStep() - Method in class Network
    Take a time step.
    takeStep() - Method in class Node
    Causes node to read currentInQueue of update packets and act on them.
    toString() - Method in class Node
     
    toString() - Method in class RoutingTable
     

    U

    uid - Variable in class Node
    Each node has an integer UID.
    UPDATE_PACKET_OVERHEAD_WEIGHT - Static variable in class ConstSysProperties
    A weight applied to update message overhead in computing a score.
    UPDATE_PROB - Static variable in class ConstSysProperties
    Probability that a node has its update method called during each time step.
    UpdatePacket - Class in <Unnamed>
    Objects of this class carry update information from one node to another.
    UpdatePacket(Node) - Constructor for class UpdatePacket
    It's inappropriate to try to construct one of these directly - in fact you can't.
    usage() - Static method in class sim
     

    W

    WRITE_REACHABILITY_GRAPH - Static variable in class ConstConfig
    If you want to produce a time series graph of the average fraction of actually reachable pairs reachable by the routing tables: set this variable to true run the simulation run the 'createGraph.pl' script (e.g., '$ ./createGraph.pl').

    A C D F G H I L M N O P R S T U W