INET Framework for OMNeT++/OMNEST
inet::PimBase::Interface Struct Reference

#include <PimBase.h>

Public Types

enum  AssertState { NO_ASSERT_INFO, I_LOST_ASSERT, I_WON_ASSERT }
 

Public Member Functions

 Interface (RouteEntry *owner, NetworkInterface *ie)
 
virtual ~Interface ()
 
bool isFlagSet (int flag) const
 
void setFlags (int flags)
 
void clearFlag (int flag)
 
void setFlag (int flag, bool value)
 
void startAssertTimer (double assertTime)
 
void deleteAssertInfo ()
 

Public Attributes

RouteEntryowner
 
NetworkInterfaceie
 
int flags
 
AssertState assertState
 
cMessage * assertTimer
 
AssertMetric winnerMetric
 

Member Enumeration Documentation

◆ AssertState

Enumerator
NO_ASSERT_INFO 
I_LOST_ASSERT 
I_WON_ASSERT 

Constructor & Destructor Documentation

◆ Interface()

inet::PimBase::Interface::Interface ( RouteEntry owner,
NetworkInterface ie 
)
inline
80  : owner(owner), ie(ie), flags(0),
82  { ASSERT(owner), ASSERT(ie); }

◆ ~Interface()

virtual inet::PimBase::Interface::~Interface ( )
inlinevirtual
83 { owner->owner->cancelAndDelete(assertTimer); }

Member Function Documentation

◆ clearFlag()

void inet::PimBase::Interface::clearFlag ( int  flag)
inline
87 { flags &= (~flag); }

◆ deleteAssertInfo()

void inet::PimBase::Interface::deleteAssertInfo ( )
inline
99  {
102  owner->owner->cancelAndDelete(assertTimer);
103  assertTimer = nullptr;
104  }

Referenced by inet::PimDm::processAssert(), and inet::PimDm::processAssertTimer().

◆ isFlagSet()

bool inet::PimBase::Interface::isFlagSet ( int  flag) const
inline
85 { return (flags & flag) != 0; }

◆ setFlag()

void inet::PimBase::Interface::setFlag ( int  flag,
bool  value 
)
inline
88 { if (value) setFlags(flag); else clearFlag(flag); }

◆ setFlags()

void inet::PimBase::Interface::setFlags ( int  flags)
inline
86 { this->flags |= flags; }

◆ startAssertTimer()

void inet::PimBase::Interface::startAssertTimer ( double  assertTime)
inline
91  {
92  ASSERT(assertTimer == nullptr);
93  assertTimer = new cMessage("PimAssertTimer", AssertTimer);
94  assertTimer->setContextPointer(this);
95  owner->owner->scheduleAfter(assertTime, assertTimer);
96  }

Referenced by inet::PimDm::processAssert().

Member Data Documentation

◆ assertState

AssertState inet::PimBase::Interface::assertState

◆ assertTimer

cMessage* inet::PimBase::Interface::assertTimer

◆ flags

int inet::PimBase::Interface::flags

◆ ie

◆ owner

RouteEntry* inet::PimBase::Interface::owner

◆ winnerMetric

AssertMetric inet::PimBase::Interface::winnerMetric

The documentation for this struct was generated from the following file:
inet::PimBase::Interface::NO_ASSERT_INFO
@ NO_ASSERT_INFO
Definition: PimBase.h:74
inet::PimBase::Interface::assertState
AssertState assertState
Definition: PimBase.h:75
inet::PimBase::Interface::assertTimer
cMessage * assertTimer
Definition: PimBase.h:76
inet::PimBase::Interface::I_WON_ASSERT
@ I_WON_ASSERT
Definition: PimBase.h:74
inet::PimBase::Interface::winnerMetric
AssertMetric winnerMetric
Definition: PimBase.h:77
inet::PimBase::RouteEntry::owner
PimBase * owner
Definition: PimBase.h:52
inet::PimBase::Interface::flags
int flags
Definition: PimBase.h:71
inet::PimBase::Interface::ie
NetworkInterface * ie
Definition: PimBase.h:70
inet::PimBase::Interface::I_LOST_ASSERT
@ I_LOST_ASSERT
Definition: PimBase.h:74
inet::PimBase::AssertMetric::PIM_INFINITE
static const AssertMetric PIM_INFINITE
Definition: PimBase.h:37
inet::PimBase::Interface::owner
RouteEntry * owner
Definition: PimBase.h:69
inet::PimBase::Interface::clearFlag
void clearFlag(int flag)
Definition: PimBase.h:87
inet::PimBase::Interface::setFlags
void setFlags(int flags)
Definition: PimBase.h:86
inet::PimBase::AssertTimer
@ AssertTimer
Definition: PimBase.h:125