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

#include <ansaLsa6.h>

Inheritance diagram for AnsaOspf6::RouterLsa:
OspfRouterLsa6 AnsaOspf6::RoutingInfo AnsaOspf6::LsaTrackingInfo OspfLsa6

List of all members.

Public Member Functions

 RouterLsa (void)
 RouterLsa (const OspfRouterLsa6 &lsa)
 RouterLsa (const RouterLsa &lsa)
virtual ~RouterLsa (void)
bool Update (const OspfRouterLsa6 *lsa)
bool DiffersFrom (const OspfRouterLsa6 *routerLsa) const

Detailed Description

Definition at line 77 of file ansaLsa6.h.


Constructor & Destructor Documentation

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

Definition at line 82 of file ansaLsa6.h.

Definition at line 83 of file ansaLsa6.h.

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

Definition at line 84 of file ansaLsa6.h.

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

Definition at line 85 of file ansaLsa6.h.

{}

Member Function Documentation

bool AnsaOspf6::RouterLsa::DiffersFrom ( const OspfRouterLsa6 routerLsa) const

Definition at line 35 of file ansaLsa6Type1Router.cc.

Referenced by Update().

                                                                          {

   const OspfLsaHeader6& lsaHeader = routerLsa->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 (V_VirtualLinkEndpoint_var != routerLsa->getV_VirtualLinkEndpoint()){
      return true;
   }else if (E_AsBoundaryRouter_var != routerLsa->getE_AsBoundaryRouter()){
      return true;
   }else if (B_AreaBorderRouter_var != routerLsa->getB_AreaBorderRouter()){
      return true;
   }else if (options_var != routerLsa->getOptions()){
      return true;
   }else if (links_arraysize != routerLsa->getLinksArraySize()){
      return true;

   }else{

      unsigned int linkCount = links_arraysize;
      for (unsigned int i = 0; i < linkCount; i++){
         if (links_var[i] != routerLsa->getLinks(i)){
            return true;
         }
      }
   }

   return false;
}

Definition at line 18 of file ansaLsa6Type1Router.cc.

                                                         {
   EV<< "-----------------------------------------------------\n";
   PrintLsaHeader6(lsa->getHeader(), ev.getOStream());
   EV << "-----------------------------------------------------\n";
   PrintLsaHeader6(this->getHeader(), ev.getOStream());
   EV << "-----------------------------------------------------\n";
   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: