INET Framework for OMNeT++/OMNEST
inet::PIMSM::PimsmInterface Struct Reference
Inheritance diagram for inet::PIMSM::PimsmInterface:
inet::PIMBase::Interface inet::PIMSM::DownstreamInterface inet::PIMSM::UpstreamInterface

Public Types

enum  Flags { RECEIVER_INCLUDE = 1 << 0, RECEIVER_EXCLUDE = 1 << 1, COULD_ASSERT = 1 << 2, ASSERT_TRACKING_DESIRED = 1 << 3 }
 
- Public Types inherited from inet::PIMBase::Interface
enum  AssertState { NO_ASSERT_INFO, I_LOST_ASSERT, I_WON_ASSERT }
 

Public Member Functions

 PimsmInterface (Route *owner, InterfaceEntry *ie)
 
virtual ~PimsmInterface ()
 
Routeroute () const
 
PIMSMpimsm () const
 
void startExpiryTimer (double holdTime)
 
bool localReceiverInclude () const
 
void setLocalReceiverInclude (bool value)
 
bool localReceiverExclude () const
 
void setLocalReceiverExclude (bool value)
 
bool couldAssert () const
 
void setCouldAssert (bool value)
 
bool assertTrackingDesired () const
 
void setAssertTrackingDesired (bool value)
 
bool pimInclude () const
 
bool pimExclude () const
 
- Public Member Functions inherited from inet::PIMBase::Interface
 Interface (RouteEntry *owner, InterfaceEntry *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

cMessage * expiryTimer
 
- Public Attributes inherited from inet::PIMBase::Interface
RouteEntryowner
 
InterfaceEntryie
 
int flags
 
AssertState assertState
 
cMessage * assertTimer
 
AssertMetric winnerMetric
 

Member Enumeration Documentation

Enumerator
RECEIVER_INCLUDE 
RECEIVER_EXCLUDE 
COULD_ASSERT 
ASSERT_TRACKING_DESIRED 
62  {
63  RECEIVER_INCLUDE = 1 << 0, // local_receiver_include(S,G,I) or local_receiver_include(*,G,I)
64  RECEIVER_EXCLUDE = 1 << 1, // local_receiver_exclude(S,G,I)
65  COULD_ASSERT = 1 << 2, // CouldAssert(S,G,I)
66  ASSERT_TRACKING_DESIRED = 1 << 3 // AssertTrackingDesired(S,G,I)
67  };

Constructor & Destructor Documentation

inet::PIMSM::PimsmInterface::PimsmInterface ( Route owner,
InterfaceEntry ie 
)
2052  : Interface(owner, ie), expiryTimer(nullptr)
2053 {
2054 }
cMessage * expiryTimer
Definition: PIMSM.h:60
Interface(RouteEntry *owner, InterfaceEntry *ie)
Definition: PIMBase.h:92
RouteEntry * owner
Definition: PIMBase.h:82
InterfaceEntry * ie
Definition: PIMBase.h:83
inet::PIMSM::PimsmInterface::~PimsmInterface ( )
virtual
2057 {
2058  pimsm()->cancelAndDelete(expiryTimer);
2059  pimsm()->cancelAndDelete(assertTimer);
2060 }
cMessage * expiryTimer
Definition: PIMSM.h:60
PIMSM * pimsm() const
Definition: PIMSM.h:72
cMessage * assertTimer
Definition: PIMBase.h:89

Member Function Documentation

bool inet::PIMSM::PimsmInterface::assertTrackingDesired ( ) const
inline

Referenced by inet::PIMSM::processAssertG(), and inet::PIMSM::processAssertSG().

bool isFlagSet(int flag) const
Definition: PIMBase.h:98
bool inet::PIMSM::PimsmInterface::couldAssert ( ) const
inline
bool inet::PIMSM::PimsmInterface::localReceiverExclude ( ) const
inline
77 { return isFlagSet(RECEIVER_EXCLUDE); }
bool isFlagSet(int flag) const
Definition: PIMBase.h:98
bool inet::PIMSM::PimsmInterface::localReceiverInclude ( ) const
inline
75 { return isFlagSet(RECEIVER_INCLUDE); }
bool isFlagSet(int flag) const
Definition: PIMBase.h:98
bool inet::PIMSM::PimsmInterface::pimExclude ( ) const
inline

Referenced by inet::PIMSM::DownstreamInterface::isInInheritedOlist().

91  {
92  return localReceiverExclude() &&
93  (( /*I_am_DR AND*/ assertState != I_LOST_ASSERT) || assertState == I_WON_ASSERT);
94  }
bool localReceiverExclude() const
Definition: PIMSM.h:77
AssertState assertState
Definition: PIMBase.h:88
bool inet::PIMSM::PimsmInterface::pimInclude ( ) const
inline

Referenced by inet::PIMSM::DownstreamInterface::isInImmediateOlist(), and inet::PIMSM::DownstreamInterface::isInInheritedOlist().

85  {
86  return localReceiverInclude() &&
87  (( /*I_am_DR AND*/ assertState != I_LOST_ASSERT) || assertState == I_WON_ASSERT);
88  }
AssertState assertState
Definition: PIMBase.h:88
bool localReceiverInclude() const
Definition: PIMSM.h:75
PIMSM* inet::PIMSM::PimsmInterface::pimsm ( ) const
inline

Referenced by startExpiryTimer(), inet::PIMSM::DownstreamInterface::startPrunePendingTimer(), inet::PIMSM::DownstreamInterface::~DownstreamInterface(), and ~PimsmInterface().

72 { return check_and_cast<PIMSM *>(owner->owner); }
RouteEntry * owner
Definition: PIMBase.h:82
PIMBase * owner
Definition: PIMBase.h:64
PIMSM()
Definition: PIMSM.h:232
void inet::PIMSM::PimsmInterface::setAssertTrackingDesired ( bool  value)
inline
void setFlag(int flag, bool value)
Definition: PIMBase.h:101
void inet::PIMSM::PimsmInterface::setCouldAssert ( bool  value)
inline
80 { setFlag(COULD_ASSERT, value); }
void setFlag(int flag, bool value)
Definition: PIMBase.h:101
void inet::PIMSM::PimsmInterface::setLocalReceiverExclude ( bool  value)
inline
78 { setFlag(RECEIVER_EXCLUDE, value); }
void setFlag(int flag, bool value)
Definition: PIMBase.h:101
void inet::PIMSM::PimsmInterface::setLocalReceiverInclude ( bool  value)
inline

Referenced by inet::PIMSM::multicastReceiverAdded(), and inet::PIMSM::multicastReceiverRemoved().

76 { setFlag(RECEIVER_INCLUDE, value); }
void setFlag(int flag, bool value)
Definition: PIMBase.h:101
void inet::PIMSM::PimsmInterface::startExpiryTimer ( double  holdTime)

Referenced by inet::PIMSM::processJoinG(), and inet::PIMSM::processJoinSG().

2063 {
2064  expiryTimer = new cMessage("PIMExpiryTimer", ExpiryTimer);
2065  expiryTimer->setContextPointer(this);
2066  pimsm()->scheduleAt(simTime() + holdTime, expiryTimer);
2067 }
cMessage * expiryTimer
Definition: PIMSM.h:60
PIMSM * pimsm() const
Definition: PIMSM.h:72
Definition: PIMBase.h:151
double holdTime
Definition: PIMBase.h:169

Member Data Documentation


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