|
INET Framework for OMNeT++/OMNEST
|
#include <AnsaLSA.h>
Public Member Functions | |
| NetworkLSA (void) | |
| NetworkLSA (const OSPFNetworkLSA &lsa) | |
| NetworkLSA (const NetworkLSA &lsa) | |
| virtual | ~NetworkLSA (void) |
| bool | ValidateLSChecksum () const |
| bool | Update (const OSPFNetworkLSA *lsa) |
| bool | DiffersFrom (const OSPFNetworkLSA *networkLSA) const |
| AnsaOSPF::NetworkLSA::NetworkLSA | ( | void | ) | [inline] |
Definition at line 85 of file AnsaLSA.h.
: OSPFNetworkLSA(), RoutingInfo(), LSATrackingInfo() {}
| AnsaOSPF::NetworkLSA::NetworkLSA | ( | const OSPFNetworkLSA & | lsa | ) | [inline] |
Definition at line 86 of file AnsaLSA.h.
: OSPFNetworkLSA(lsa), RoutingInfo(), LSATrackingInfo() {}
| AnsaOSPF::NetworkLSA::NetworkLSA | ( | const NetworkLSA & | lsa | ) | [inline] |
Definition at line 87 of file AnsaLSA.h.
: OSPFNetworkLSA(lsa), RoutingInfo(lsa), LSATrackingInfo(lsa) {}
| virtual AnsaOSPF::NetworkLSA::~NetworkLSA | ( | void | ) | [inline, virtual] |
| bool AnsaOSPF::NetworkLSA::DiffersFrom | ( | const OSPFNetworkLSA * | networkLSA | ) | const |
Definition at line 16 of file AnsaNetworkLSA.cc.
Referenced by Update().
{
const OSPFLSAHeader& lsaHeader = networkLSA->getHeader();
bool differentHeader = ((header_var.getLsOptions() != lsaHeader.getLsOptions()) ||
((header_var.getLsAge() == MAX_AGE) && (lsaHeader.getLsAge() != MAX_AGE)) ||
((header_var.getLsAge() != MAX_AGE) && (lsaHeader.getLsAge() == MAX_AGE)) ||
(header_var.getLsaLength() != lsaHeader.getLsaLength()));
bool differentBody = false;
if (!differentHeader) {
differentBody = ((networkMask_var != networkLSA->getNetworkMask()) ||
(attachedRouters_arraysize != networkLSA->getAttachedRoutersArraySize()));
if (!differentBody) {
unsigned int routerCount = attachedRouters_arraysize;
for (unsigned int i = 0; i < routerCount; i++) {
if (attachedRouters_var[i] != networkLSA->getAttachedRouters(i)) {
differentBody = true;
break;
}
}
}
}
return (differentHeader || differentBody);
}
| bool AnsaOSPF::NetworkLSA::Update | ( | const OSPFNetworkLSA * | lsa | ) |
Definition at line 3 of file AnsaNetworkLSA.cc.
Referenced by AnsaOSPF::Area::AgeDatabase(), and AnsaOSPF::NeighborState::ChangeState().
{
bool different = DiffersFrom(lsa);
(*this) = (*lsa);
ResetInstallTime();
if (different) {
ClearNextHops();
return true;
} else {
return false;
}
}
| bool AnsaOSPF::NetworkLSA::ValidateLSChecksum | ( | ) | const [inline] |
Definition at line 90 of file AnsaLSA.h.
Referenced by AnsaOSPF::Area::AgeDatabase().
{ return true; } // not implemented