Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSPF::NeighborStateDown Class Reference

#include <OSPFNeighborStateDown.h>

Inheritance diagram for OSPF::NeighborStateDown:

OSPF::NeighborState List of all members.

Public Member Functions

virtual void ProcessEvent (Neighbor *neighbor, Neighbor::NeighborEventType event)
virtual Neighbor::NeighborStateType GetState (void) const

Member Function Documentation

virtual Neighbor::NeighborStateType OSPF::NeighborStateDown::GetState void   )  const [inline, virtual]
 

Implements OSPF::NeighborState.

00012 { return Neighbor::DownState; }

void OSPF::NeighborStateDown::ProcessEvent Neighbor neighbor,
Neighbor::NeighborEventType  event
[virtual]
 

00010 {
00011     if (event == OSPF::Neighbor::Start) {
00012         MessageHandler* messageHandler = neighbor->GetInterface ()->GetArea ()->GetRouter ()->GetMessageHandler ();
00013         int             ttl            = (neighbor->GetInterface ()->GetType () == OSPF::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
00014 
00015         messageHandler->ClearTimer (neighbor->GetPollTimer ());
00016         neighbor->GetInterface ()->SendHelloPacket (neighbor->GetAddress (), ttl);
00017         messageHandler->StartTimer (neighbor->GetInactivityTimer (), neighbor->GetRouterDeadInterval ());
00018         ChangeState (neighbor, new OSPF::NeighborStateAttempt, this);
00019     }
00020     if (event == OSPF::Neighbor::HelloReceived) {
00021         MessageHandler* messageHandler = neighbor->GetInterface ()->GetArea ()->GetRouter ()->GetMessageHandler ();
00022         messageHandler->ClearTimer (neighbor->GetPollTimer ());
00023         messageHandler->StartTimer (neighbor->GetInactivityTimer (), neighbor->GetRouterDeadInterval ());
00024         ChangeState (neighbor, new OSPF::NeighborStateInit, this);
00025     }
00026     if (event == OSPF::Neighbor::PollTimer) {
00027         int ttl = (neighbor->GetInterface ()->GetType () == OSPF::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
00028         neighbor->GetInterface ()->SendHelloPacket (neighbor->GetAddress (), ttl);
00029         MessageHandler* messageHandler = neighbor->GetInterface ()->GetArea ()->GetRouter ()->GetMessageHandler ();
00030         messageHandler->StartTimer (neighbor->GetPollTimer (), neighbor->GetInterface ()->GetPollInterval ());
00031     }
00032 }


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 20:52:25 2006 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.1