SSF.OS.OSPFv2
Class OSPF.RTCControlTimer

java.lang.Object
  |
  +--com.renesys.raceway.SSF.Entity
        |
        +--SSF.OS.Timer
              |
              +--SSF.OS.OSPFv2.OSPF.RTCControlTimer
Enclosing class:
OSPF

public class OSPF.RTCControlTimer
extends Timer

The Routing Table Calculation Control Timer. This Timer is used to manage the routing table calculation process. It delays the spf calculation when a topology change was received by a neighboring router due to configured spf_delay and spf_hold_time attributes and it models routing table calculation delays.


Constructor Summary
OSPF.RTCControlTimer(OSPF myOSPF, long duration)
          Construct a timer with the given duration.
 
Method Summary
 void addIPRoute(java.lang.String destination, NetworkEntry netEntry)
          Stores a route which must be installed in the ip table.
 void buildRoutingTable()
          method to be performed when the entire RT must be recalculated.
 void callback()
          A method to be performed when the timer expires.
 void processInterAreaRoute(LSA summaryLSA, int areaID)
          Called when a received Summary LSA has changed.
 void remIPRoute(java.lang.String destination)
          Stores a route which must be removed from the ip table.
 void reset()
          reset this timer
 
Methods inherited from class SSF.OS.Timer
cancel, isCancelled, set, set
 
Methods inherited from class com.renesys.raceway.SSF.Entity
alignment, alignTo, coalignedEntities, inChannels, init, joinAll, makeIndependent, now, outChannels, pauseAll, playRole, processes, resetSimulation, resumeAll, startAll, startAll, startClient, startClient, startServer, Vx, Yx
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OSPF.RTCControlTimer

public OSPF.RTCControlTimer(OSPF myOSPF,
                            long duration)
Construct a timer with the given duration.

Method Detail

buildRoutingTable

public void buildRoutingTable()
method to be performed when the entire RT must be recalculated.


addIPRoute

public void addIPRoute(java.lang.String destination,
                       NetworkEntry netEntry)
Stores a route which must be installed in the ip table.

Parameters:
destination - String containing the address of the destination.
netEntry - NetworkEntry keeping the information neccessary to install the route in the ip table.

remIPRoute

public void remIPRoute(java.lang.String destination)
Stores a route which must be removed from the ip table.

Parameters:
destination - String containing the address of the destination.

processInterAreaRoute

public void processInterAreaRoute(LSA summaryLSA,
                                  int areaID)
Called when a received Summary LSA has changed. It makes a decision to remove or to build an inter-area route and schedules its execution time.

Parameters:
summaryLSA - LSA of type summary which has changed.
areaID - int value indicating the area where the LSA came from.

reset

public void reset()
reset this timer


callback

public void callback()
A method to be performed when the timer expires. It manages the Routing Table calculation process by using some flag-bits which indicate the current phase of the calculation (rtIsProtected, doFIBUpdate, entireCalculation, createNewRT) and the time values "spfDelay" and "spfHoldTime".

Specified by:
callback in class Timer