#include <OSPFNeighborStateAttempt.h>
Inheritance diagram for OSPF::NeighborStateAttempt:

Public Member Functions | |
| virtual void | ProcessEvent (Neighbor *neighbor, Neighbor::NeighborEventType event) |
| virtual Neighbor::NeighborStateType | GetState (void) const |
|
|
Implements OSPF::NeighborState. 00012 { return Neighbor::AttemptState; }
|
|
||||||||||||
|
00010 {
00011 if ((event == OSPF::Neighbor::KillNeighbor) || (event == OSPF::Neighbor::LinkDown)) {
00012 MessageHandler* messageHandler = neighbor->GetInterface ()->GetArea ()->GetRouter ()->GetMessageHandler ();
00013 neighbor->Reset ();
00014 messageHandler->ClearTimer (neighbor->GetInactivityTimer ());
00015 ChangeState (neighbor, new OSPF::NeighborStateDown, this);
00016 }
00017 if (event == OSPF::Neighbor::InactivityTimer) {
00018 neighbor->Reset ();
00019 if (neighbor->GetInterface ()->GetType () == OSPF::Interface::NBMA) {
00020 MessageHandler* messageHandler = neighbor->GetInterface ()->GetArea ()->GetRouter ()->GetMessageHandler ();
00021 messageHandler->StartTimer (neighbor->GetPollTimer (), neighbor->GetInterface ()->GetPollInterval ());
00022 }
00023 ChangeState (neighbor, new OSPF::NeighborStateDown, this);
00024 }
00025 if (event == OSPF::Neighbor::HelloReceived) {
00026 MessageHandler* messageHandler = neighbor->GetInterface ()->GetArea ()->GetRouter ()->GetMessageHandler ();
00027 messageHandler->ClearTimer (neighbor->GetInactivityTimer ());
00028 messageHandler->StartTimer (neighbor->GetInactivityTimer (), neighbor->GetRouterDeadInterval ());
00029 ChangeState (neighbor, new OSPF::NeighborStateInit, this);
00030 }
00031 }
|
1.4.1