|
INET Framework for OMNeT++/OMNEST
|
#include <ansaLsa6.h>
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 |
Definition at line 167 of file ansaLsa6.h.
| AnsaOspf6::IntraAreaPrefixLsa::IntraAreaPrefixLsa | ( | void | ) | [inline] |
Definition at line 172 of file ansaLsa6.h.
: OspfIntraAreaPrefixLsa6(), RoutingInfo(), LsaTrackingInfo() {}
| AnsaOspf6::IntraAreaPrefixLsa::IntraAreaPrefixLsa | ( | const OspfIntraAreaPrefixLsa6 & | lsa | ) | [inline] |
Definition at line 173 of file ansaLsa6.h.
: OspfIntraAreaPrefixLsa6(lsa), RoutingInfo(), LsaTrackingInfo() {}
| AnsaOspf6::IntraAreaPrefixLsa::IntraAreaPrefixLsa | ( | const IntraAreaPrefixLsa & | lsa | ) | [inline] |
Definition at line 174 of file ansaLsa6.h.
: OspfIntraAreaPrefixLsa6(lsa), RoutingInfo(lsa), LsaTrackingInfo(lsa) {}
| virtual AnsaOspf6::IntraAreaPrefixLsa::~IntraAreaPrefixLsa | ( | void | ) | [inline, virtual] |
Definition at line 175 of file ansaLsa6.h.
{}
| 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;
}
| bool AnsaOspf6::IntraAreaPrefixLsa::Update | ( | const OspfIntraAreaPrefixLsa6 * | lsa | ) |
Definition at line 18 of file ansaLsa6Type9IntraAreaPrefix.cc.
{
bool different = DiffersFrom(lsa);
(*this) = (*lsa);
ResetInstallTime();
if (different){
ClearNextHops();
return true;
}else{
return false;
}
}