INET Framework for OMNeT++/OMNEST
AnsaOspf6::NetworkLsa Class Reference

#include <ansaLsa6.h>

Inheritance diagram for AnsaOspf6::NetworkLsa:
OspfNetworkLsa6 AnsaOspf6::RoutingInfo AnsaOspf6::LsaTrackingInfo OspfLsa6

List of all members.

Public Member Functions

 NetworkLsa (void)
 NetworkLsa (const OspfNetworkLsa6 &lsa)
 NetworkLsa (const NetworkLsa &lsa)
virtual ~NetworkLsa (void)
bool Update (const OspfNetworkLsa6 *lsa)
bool DiffersFrom (const OspfNetworkLsa6 *networkLsa) const

Detailed Description

Definition at line 92 of file ansaLsa6.h.


Constructor & Destructor Documentation

AnsaOspf6::NetworkLsa::NetworkLsa ( void  ) [inline]

Definition at line 97 of file ansaLsa6.h.

Definition at line 98 of file ansaLsa6.h.

AnsaOspf6::NetworkLsa::NetworkLsa ( const NetworkLsa lsa) [inline]

Definition at line 99 of file ansaLsa6.h.

virtual AnsaOspf6::NetworkLsa::~NetworkLsa ( void  ) [inline, virtual]

Definition at line 100 of file ansaLsa6.h.

{}

Member Function Documentation

bool AnsaOspf6::NetworkLsa::DiffersFrom ( const OspfNetworkLsa6 networkLsa) const

Definition at line 30 of file ansaLsa6Type2Network.cc.

Referenced by Update().

                                                                             {

   const OspfLsaHeader6& lsaHeader = networkLsa->getHeader();

   if (((header_var.getLsAge() == MAX_AGE) && (lsaHeader.getLsAge() != MAX_AGE))
         || ((header_var.getLsAge() != MAX_AGE) && (lsaHeader.getLsAge() == MAX_AGE))
         || (header_var.getAdvertisingRouter() != lsaHeader.getAdvertisingRouter())
         || (header_var.getLsSequenceNumber() != lsaHeader.getLsSequenceNumber())){
      return true;


   }else if (options_var != networkLsa->getOptions()){
      return true;
   }else{

      unsigned int routerCount = attachedRouters_arraysize;
      for (unsigned int i = 0; i < routerCount; i++){
         if (attachedRouters_var[i] != networkLsa->getAttachedRouters(i)){
            return true;
         }
      }
   }

   return false;
}

Definition at line 18 of file ansaLsa6Type2Network.cc.

                                                           {
   bool different = DiffersFrom(lsa);
   (*this) = (*lsa);
   ResetInstallTime();
   if (different){
      ClearNextHops();
      return true;
   }else{
      return false;
   }
}

The documentation for this class was generated from the following files: