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

#include <ansaLsa6.h>

Inheritance diagram for AnsaOspf6::LinkLsa:
OspfLinkLsa6 AnsaOspf6::RoutingInfo AnsaOspf6::LsaTrackingInfo OspfLsa6

List of all members.

Public Member Functions

 LinkLsa (void)
 LinkLsa (const OspfLinkLsa6 &lsa)
 LinkLsa (const LinkLsa &lsa)
virtual ~LinkLsa (void)
bool Update (const OspfLinkLsa6 *lsa)
bool DiffersFrom (const OspfLinkLsa6 *linkLsa) const

Detailed Description

Definition at line 152 of file ansaLsa6.h.


Constructor & Destructor Documentation

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

Definition at line 157 of file ansaLsa6.h.

AnsaOspf6::LinkLsa::LinkLsa ( const OspfLinkLsa6 lsa) [inline]

Definition at line 158 of file ansaLsa6.h.

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

Definition at line 159 of file ansaLsa6.h.

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

Definition at line 160 of file ansaLsa6.h.

{}

Member Function Documentation

bool AnsaOspf6::LinkLsa::DiffersFrom ( const OspfLinkLsa6 linkLsa) const

Definition at line 30 of file ansaLsa6Type8Link.cc.

Referenced by Update().

                                                                    {

   const OspfLsaHeader6& lsaHeader = linkLsa->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 (rtrPriority_var != linkLsa->getRtrPriority()){
      return true;
   }else if (options_var != linkLsa->getOptions()){
      return true;
   }else if (linkLocalAddress_var != linkLsa->getLinkLocalAddress()){
      return true;
   }else{

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

   return false;
}

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