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

inet::IGMPv3::HostGroupData::HostGroupData ( HostInterfaceData parent,
IPv4Address  group 
)
97 {
98  ASSERT(parent);
99  ASSERT(groupAddr.isMulticast());
100 
101  timer = new cMessage("IGMPv3 Host Group Timer", IGMPV3_H_GROUP_TIMER);
102  timer->setContextPointer(this);
103 }
Definition: IGMPv3.h:169
HostGroupState state
Definition: IGMPv3.h:84
IPv4Address groupAddr
Definition: IGMPv3.h:81
bool isMulticast() const
Returns true if this address is in the multicast address range, 224.0.0.0 thru 239.255.255.255, that is, it&#39;s a class D address.
Definition: IPv4Address.h:226
Definition: IGMPv3.h:63
HostInterfaceData * parent
Definition: IGMPv3.h:80
cMessage * timer
Definition: IGMPv3.h:85
FilterMode filter
Definition: IGMPv3.h:82
inet::IGMPv3::HostGroupData::~HostGroupData ( )
virtual
106 {
107  parent->owner->cancelAndDelete(timer);
108 }
HostInterfaceData * parent
Definition: IGMPv3.h:80
cMessage * timer
Definition: IGMPv3.h:85
IGMPv3 * owner
Definition: IGMPv3.h:97

Member Function Documentation

string inet::IGMPv3::HostGroupData::getStateInfo ( ) const

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

111 {
112  ostringstream out;
113  switch (filter) {
114  case IGMPV3_FM_INCLUDE:
115  out << "INCLUDE" << sourceAddressList;
116  break;
117 
118  case IGMPV3_FM_EXCLUDE:
119  out << "EXCLUDE" << sourceAddressList;
120  break;
121  }
122  return out.str();
123 }
Definition: IGMPv3.h:63
IPv4AddressVector sourceAddressList
Definition: IGMPv3.h:83
FilterMode filter
Definition: IGMPv3.h:82
Definition: IGMPv3.h:64

Member Data Documentation

IPv4Address inet::IGMPv3::HostGroupData::groupAddr
HostInterfaceData* inet::IGMPv3::HostGroupData::parent
IPv4AddressVector inet::IGMPv3::HostGroupData::queriedSources
HostGroupState inet::IGMPv3::HostGroupData::state
cMessage* inet::IGMPv3::HostGroupData::timer

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