INET Framework for OMNeT++/OMNEST
AnsaOspf6::NeighborStateDown Class Reference

#include <ansaOspfNeighborStateDown6.h>

Inheritance diagram for AnsaOspf6::NeighborStateDown:
AnsaOspf6::NeighborState

List of all members.

Private Member Functions

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

Detailed Description

Definition at line 23 of file ansaOspfNeighborStateDown6.h.


Member Function Documentation

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

Implements AnsaOspf6::NeighborState.

Definition at line 25 of file ansaOspfNeighborStateDown6.h.

{ return Neighbor::DownState; }

Implements AnsaOspf6::NeighborState.

Definition at line 25 of file ansaOspfNeighborStateDown6.cc.

                                                {

   if (event == AnsaOspf6::Neighbor::Start){
      MessageHandler* messageHandler =
            neighbor->GetInterface()->GetArea()->GetRouter()->GetMessageHandler();
      int ttl = (neighbor->GetInterface()->GetType() == AnsaOspf6::Interface::Virtual)
            ? VIRTUAL_LINK_TTL : 1;

      messageHandler->ClearTimer(neighbor->GetPollTimer());
      neighbor->GetInterface()->SendHelloPacket(neighbor->GetAddress(), ttl);
      messageHandler->StartTimer(neighbor->GetInactivityTimer(), neighbor->GetRouterDeadInterval());
      ChangeState(neighbor, new AnsaOspf6::NeighborStateAttempt, this);
   }
   if (event == AnsaOspf6::Neighbor::HelloReceived){
      MessageHandler* messageHandler = neighbor->GetInterface()->GetArea()->GetRouter()->GetMessageHandler();
      messageHandler->ClearTimer(neighbor->GetPollTimer());
      messageHandler->StartTimer(neighbor->GetInactivityTimer(), neighbor->GetRouterDeadInterval());
      ChangeState(neighbor, new AnsaOspf6::NeighborStateInit, this);
   }
   if (event == AnsaOspf6::Neighbor::PollTimer){
      int ttl = (neighbor->GetInterface()->GetType() == AnsaOspf6::Interface::Virtual) ? VIRTUAL_LINK_TTL : 1;
      neighbor->GetInterface()->SendHelloPacket(neighbor->GetAddress(), ttl);
      MessageHandler* messageHandler = neighbor->GetInterface()->GetArea()->GetRouter()->GetMessageHandler();
      messageHandler->StartTimer(neighbor->GetPollTimer(), neighbor->GetInterface()->GetPollInterval());
   }
}

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