INET Framework for OMNeT++/OMNEST
inet::Igmpv3::HostGroupData Struct Reference

#include <Igmpv3.h>

Public Member Functions

 HostGroupData (HostInterfaceData *parent, Ipv4Address group)
 
virtual ~HostGroupData ()
 
std::string getStateInfo () const
 

Public Attributes

HostInterfaceDataparent
 
Ipv4Address groupAddr
 
FilterMode filter
 
Ipv4AddressVector sourceAddressList
 
HostGroupState state
 
cMessage * timer
 
Ipv4AddressVector queriedSources
 

Constructor & Destructor Documentation

◆ HostGroupData()

inet::Igmpv3::HostGroupData::HostGroupData ( HostInterfaceData parent,
Ipv4Address  group 
)
1098 {
1099  ASSERT(parent);
1100  ASSERT(groupAddr.isMulticast());
1101 
1102  timer = new cMessage("Igmpv3 Host Group Timer", IGMPV3_H_GROUP_TIMER);
1103  timer->setContextPointer(this);
1104 }

◆ ~HostGroupData()

inet::Igmpv3::HostGroupData::~HostGroupData ( )
virtual
1107 {
1108  parent->owner->cancelAndDelete(timer);
1109 }

Member Function Documentation

◆ getStateInfo()

string inet::Igmpv3::HostGroupData::getStateInfo ( ) const
1112 {
1113  ostringstream out;
1114  switch (filter) {
1115  case IGMPV3_FM_INCLUDE:
1116  out << "INCLUDE" << sourceAddressList;
1117  break;
1118 
1119  case IGMPV3_FM_EXCLUDE:
1120  out << "EXCLUDE" << sourceAddressList;
1121  break;
1122  }
1123  return out.str();
1124 }

Referenced by inet::Igmpv3::multicastSourceListChanged().

Member Data Documentation

◆ filter

◆ groupAddr

Ipv4Address inet::Igmpv3::HostGroupData::groupAddr

◆ parent

HostInterfaceData* inet::Igmpv3::HostGroupData::parent

◆ queriedSources

Ipv4AddressVector inet::Igmpv3::HostGroupData::queriedSources

◆ sourceAddressList

Ipv4AddressVector inet::Igmpv3::HostGroupData::sourceAddressList

◆ state

HostGroupState inet::Igmpv3::HostGroupData::state

◆ timer

cMessage* inet::Igmpv3::HostGroupData::timer

The documentation for this struct was generated from the following files:
inet::Igmpv3::HostGroupData::timer
cMessage * timer
Definition: Igmpv3.h:83
inet::Igmpv3::HostGroupData::parent
HostInterfaceData * parent
Definition: Igmpv3.h:78
inet::Ipv4Address::isMulticast
bool isMulticast() const
Returns true if this address is in the multicast address range, 224.0.0.0 thru 239....
Definition: Ipv4Address.h:215
inet::Igmpv3::HostGroupData::groupAddr
Ipv4Address groupAddr
Definition: Igmpv3.h:79
inet::Igmpv3::HostGroupData::state
HostGroupState state
Definition: Igmpv3.h:82
inet::Igmpv3::IGMPV3_FM_INCLUDE
@ IGMPV3_FM_INCLUDE
Definition: Igmpv3.h:54
inet::Igmpv3::IGMPV3_HGS_NON_MEMBER
@ IGMPV3_HGS_NON_MEMBER
Definition: Igmpv3.h:48
inet::Igmpv3::IGMPV3_H_GROUP_TIMER
@ IGMPV3_H_GROUP_TIMER
Definition: Igmpv3.h:72
inet::Igmpv3::HostGroupData::filter
FilterMode filter
Definition: Igmpv3.h:80
inet::Igmpv3::HostGroupData::sourceAddressList
Ipv4AddressVector sourceAddressList
Definition: Igmpv3.h:81
inet::Igmpv3::IGMPV3_FM_EXCLUDE
@ IGMPV3_FM_EXCLUDE
Definition: Igmpv3.h:55
inet::Igmpv3::HostInterfaceData::owner
Igmpv3 * owner
Definition: Igmpv3.h:94