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

#include <ansaLsa6.h>

Inheritance diagram for AnsaOspf6::IntraAreaPrefixLsa:
OspfIntraAreaPrefixLsa6 AnsaOspf6::RoutingInfo AnsaOspf6::LsaTrackingInfo OspfLsa6

List of all members.

Public Member Functions

 IntraAreaPrefixLsa (void)
 IntraAreaPrefixLsa (const OspfIntraAreaPrefixLsa6 &lsa)
 IntraAreaPrefixLsa (const IntraAreaPrefixLsa &lsa)
virtual ~IntraAreaPrefixLsa (void)
bool Update (const OspfIntraAreaPrefixLsa6 *lsa)
bool DiffersFrom (const OspfIntraAreaPrefixLsa6 *intraAreaPrefixLsa) const

Detailed Description

Definition at line 167 of file ansaLsa6.h.


Constructor & Destructor Documentation

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

Definition at line 175 of file ansaLsa6.h.

{}

Member Function Documentation

bool AnsaOspf6::IntraAreaPrefixLsa::DiffersFrom ( const OspfIntraAreaPrefixLsa6 intraAreaPrefixLsa) const

Definition at line 30 of file ansaLsa6Type9IntraAreaPrefix.cc.

Referenced by Update().

                                                                                                     {

   const OspfLsaHeader6& lsaHeader = intraAreaPrefixLsa->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 (referencedLsType_var != intraAreaPrefixLsa->getReferencedLsType()){
      return true;
   }else if (referencedLinkStateID_var != intraAreaPrefixLsa->getReferencedLinkStateID()){
      return true;
   }else if (referencedAdvertisingRouter_var != intraAreaPrefixLsa->getReferencedAdvertisingRouter()){
      return true;
   }else{

      unsigned int prefixesCount = prefixes_arraysize;
      for (unsigned int i = 0; i < prefixesCount; i++){
         if (prefixes_var[i] != intraAreaPrefixLsa->getPrefixes(i)){
            return true;
         }
      }
   }

   return false;
}

Definition at line 18 of file ansaLsa6Type9IntraAreaPrefix.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: