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

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

Implements OSPF::NeighborState.

00027 {
00028     if (event == OSPF::Neighbor::Start) {
00029         MessageHandler* messageHandler = neighbor->GetInterface()->GetArea()->GetRouter()->GetMessageHandler();
00030         int             ttl            = (neighbor->GetInterface()->GetType() == OSPF::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
00031 
00032         messageHandler->ClearTimer(neighbor->GetPollTimer());
00033         neighbor->GetInterface()->SendHelloPacket(neighbor->GetAddress(), ttl);
00034         messageHandler->StartTimer(neighbor->GetInactivityTimer(), neighbor->GetRouterDeadInterval());
00035         ChangeState(neighbor, new OSPF::NeighborStateAttempt, this);
00036     }
00037     if (event == OSPF::Neighbor::HelloReceived) {
00038         MessageHandler* messageHandler = neighbor->GetInterface()->GetArea()->GetRouter()->GetMessageHandler();
00039         messageHandler->ClearTimer(neighbor->GetPollTimer());
00040         messageHandler->StartTimer(neighbor->GetInactivityTimer(), neighbor->GetRouterDeadInterval());
00041         ChangeState(neighbor, new OSPF::NeighborStateInit, this);
00042     }
00043     if (event == OSPF::Neighbor::PollTimer) {
00044         int ttl = (neighbor->GetInterface()->GetType() == OSPF::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
00045         neighbor->GetInterface()->SendHelloPacket(neighbor->GetAddress(), ttl);
00046         MessageHandler* messageHandler = neighbor->GetInterface()->GetArea()->GetRouter()->GetMessageHandler();
00047         messageHandler->StartTimer(neighbor->GetPollTimer(), neighbor->GetInterface()->GetPollInterval());
00048     }
00049 }

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

Implements OSPF::NeighborState.

00029 { return Neighbor::DownState; }


The documentation for this class was generated from the following files:

Generated on Fri Mar 20 18:51:23 2009 for INET Framework for OMNeT++/OMNEST by  doxygen 1.5.5