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

#include <ansaLsa6.h>

Inheritance diagram for AnsaOspf6::AsExternalLsa:
OspfAsExternalLsa6 AnsaOspf6::RoutingInfo AnsaOspf6::LsaTrackingInfo OspfLsa6

List of all members.

Public Member Functions

 AsExternalLsa (void)
 AsExternalLsa (const OspfAsExternalLsa6 &lsa)
 AsExternalLsa (const AsExternalLsa &lsa)
virtual ~AsExternalLsa (void)
bool Update (const OspfAsExternalLsa6 *lsa)
bool DiffersFrom (const OspfAsExternalLsa6 *asExternalLsa) const

Detailed Description

Definition at line 137 of file ansaLsa6.h.


Constructor & Destructor Documentation

Definition at line 142 of file ansaLsa6.h.

Definition at line 143 of file ansaLsa6.h.

Definition at line 144 of file ansaLsa6.h.

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

Definition at line 145 of file ansaLsa6.h.

{}

Member Function Documentation

bool AnsaOspf6::AsExternalLsa::DiffersFrom ( const OspfAsExternalLsa6 asExternalLsa) const

Definition at line 30 of file ansaLsa6Type5AsExternal.cc.

Referenced by Update().

                                                                                      {

   const OspfLsaHeader6& lsaHeader = asExternalLsa->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 (E_ExternalMetricType_var != asExternalLsa->getE_ExternalMetricType()){
      return true;
   }else if (F_ForwardingAddress_var != asExternalLsa->getF_ForwardingAddress()){
      return true;
   }else if (T_ExternalRouteTag_var != asExternalLsa->getT_ExternalRouteTag()){
      return true;
   }else if (metric_var != asExternalLsa->getMetric()){
      return true;
   }else if (prefixLenght_var != asExternalLsa->getPrefixLenght()){
      return true;
   }else if (prefixOptions_var != asExternalLsa->getPrefixOptions()){
      return true;
   }else if (referencedLsType_var != asExternalLsa->getReferencedLsType()){
      return true;
   }else if (addressPrefix_var != asExternalLsa->getAddressPrefix()){
      return true;
   }else if (forwardingAddress_var != asExternalLsa->getForwardingAddress()){
      return true;
   }else if (externalRouteTag_var != asExternalLsa->getExternalRouteTag()){
      return true;
   }else if (referencedLinkStateID_var != asExternalLsa->getReferencedLinkStateID()){
      return true;
   }

   return false;
}

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