SSF.OS.OSPFv2
Class OwnLSASlot

java.lang.Object
  |
  +--SSF.OS.OSPFv2.LSASlot
        |
        +--SSF.OS.OSPFv2.OwnLSASlot

public class OwnLSASlot
extends LSASlot

This class extends LSASlot. It implements two additional timer to guarantee first periodic originations of new instances of the LSA, stored here at the moment, and second protection of too many recreations of the LSA. Only selforiginated LSAs can be stored here! It is further assumed, that every time a new instance is installed it is also originated.


Nested Class Summary
 class OwnLSASlot.LSRefreshTimer
          /* The LSRefreshTimer waits OSPF LS_REFRESH_TIME time before it declares the LSA stored here to be outdated.
 class OwnLSASlot.MinimumIntervalTimer
          /* The MinimumIntervalTimer waits minLSInterval seconds before it cancels the write-protection for the LSA stored in the Slot.
 
Field Summary
 long lsRefreshTime
          long value indicating duration of the LSRefreshTimer.
 OwnLSASlot.LSRefreshTimer lsRefreshTimer
          After expiration of this timer a new instance of the stored LSA should be originated.
 OwnLSASlot.MinimumIntervalTimer minLSInstTimer
          After expiration of this timer a new instance of the stored LSA can be installed.
 long minLSInterval
          long value indicating duration of the MinimumIntervalTimer.
 AreaData myArea
          A link to the Area this Slot belongs to.
 int nextSeqNum
          The sequence number for the next instance of the selforiginated LSA stored in this slot.
 
Fields inherited from class SSF.OS.OSPFv2.LSASlot
installTime, lsa, myOSPF, receivingAge
 
Constructor Summary
OwnLSASlot(LSA lsa, OSPF myOSPF, AreaData myArea)
           
 
Method Summary
 void install(LSA adv)
          installs a new instance of an existing LSA in this slot.
 boolean lsaIsProtected()
          Check whether installation of the LSA stored here was at least MIN_LS_ITVL seconds ago.
 
Methods inherited from class SSF.OS.OSPFv2.LSASlot
ageLSA, getLSA, getLSAHeader, lsaHasMaxAge
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nextSeqNum

public int nextSeqNum
The sequence number for the next instance of the selforiginated LSA stored in this slot.


minLSInterval

public long minLSInterval
long value indicating duration of the MinimumIntervalTimer.


lsRefreshTime

public long lsRefreshTime
long value indicating duration of the LSRefreshTimer.


myArea

public AreaData myArea
A link to the Area this Slot belongs to.


minLSInstTimer

public OwnLSASlot.MinimumIntervalTimer minLSInstTimer
After expiration of this timer a new instance of the stored LSA can be installed.


lsRefreshTimer

public OwnLSASlot.LSRefreshTimer lsRefreshTimer
After expiration of this timer a new instance of the stored LSA should be originated.

Constructor Detail

OwnLSASlot

public OwnLSASlot(LSA lsa,
                  OSPF myOSPF,
                  AreaData myArea)
Method Detail

install

public void install(LSA adv)
             throws ProtocolException
installs a new instance of an existing LSA in this slot.

Overrides:
install in class LSASlot
ProtocolException

lsaIsProtected

public boolean lsaIsProtected()
Check whether installation of the LSA stored here was at least MIN_LS_ITVL seconds ago.

Returns:
the value of isProtected.