#include <LinkStateAcknowledgementHandler.h>
◆ LinkStateAcknowledgementHandler()
| inet::ospfv2::LinkStateAcknowledgementHandler::LinkStateAcknowledgementHandler |
( |
Router * |
containingRouter | ) |
|
◆ processPacket()
Implements inet::ospfv2::IMessageHandler.
24 const auto& lsAckPacket = packet->peekAtFront<Ospfv2LinkStateAcknowledgementPacket>();
26 int lsaCount = lsAckPacket->getLsaHeadersArraySize();
28 EV_DETAIL <<
" Processing packet contents:\n";
30 for (
int i = 0; i < lsaCount; i++) {
31 const Ospfv2LsaHeader& lsaHeader = lsAckPacket->getLsaHeaders(i);
32 Ospfv2Lsa *lsaOnRetransmissionList;
35 EV_DETAIL <<
" " << lsaHeader <<
"\n";
37 lsaKey.linkStateID = lsaHeader.getLinkStateID();
38 lsaKey.advertisingRouter = lsaHeader.getAdvertisingRouter();
40 if ((lsaOnRetransmissionList = neighbor->findOnRetransmissionList(lsaKey)) !=
nullptr) {
41 if (
operator==(lsaHeader, lsaOnRetransmissionList->getHeader())) {
42 neighbor->removeFromRetransmissionList(lsaKey);
45 EV_INFO <<
"Got an Acknowledgement packet for an unsent Update packet.\n";
49 if (neighbor->isLinkStateRetransmissionListEmpty()) {
50 neighbor->clearUpdateRetransmissionTimer();
Referenced by inet::ospfv2::MessageHandler::processPacket().
The documentation for this class was generated from the following files: