INET Framework for OMNeT++/OMNEST
inet::Igmpv2::RouterInterfaceData Struct Reference

#include <Igmpv2.h>

Public Member Functions

 RouterInterfaceData (Igmpv2 *owner)
 
virtual ~RouterInterfaceData ()
 

Public Attributes

Igmpv2owner
 
GroupToRouterDataMap groups
 
RouterState igmpRouterState
 
cMessage * igmpQueryTimer
 

Friends

std::ostream & operator<< (std::ostream &out, const Igmpv2::RouterInterfaceData &entry)
 

Constructor & Destructor Documentation

◆ RouterInterfaceData()

inet::Igmpv2::RouterInterfaceData::RouterInterfaceData ( Igmpv2 owner)
903  : owner(owner)
904 {
905  ASSERT(owner);
906 
908  igmpQueryTimer = nullptr;
909 }

◆ ~RouterInterfaceData()

inet::Igmpv2::RouterInterfaceData::~RouterInterfaceData ( )
virtual
912 {
913  owner->cancelAndDelete(igmpQueryTimer);
914 
915  for (auto& elem : groups)
916  delete elem.second;
917 }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const Igmpv2::RouterInterfaceData entry 
)
friend
107  {
108  out << "routerState: " << Igmpv2::getRouterStateString(entry.igmpRouterState) << " ";
109  out << "queryTimer: " << entry.igmpQueryTimer->getArrivalTime() << " ";
110  if (entry.groups.empty())
111  out << "(empty)";
112  else {
113  for (auto& g : entry.groups) {
114  out << "(groupAddress: " << g.second->groupAddr << " ";
115  out << "routerGroupState: " << Igmpv2::getRouterGroupStateString(g.second->state) << " ";
116  out << "timer: " << g.second->timer->getArrivalTime() << " ";
117  out << "rexmtTimer: " << g.second->rexmtTimer->getArrivalTime() << ") ";
118  }
119  }
120 
121  return out;
122  }

Member Data Documentation

◆ groups

◆ igmpQueryTimer

cMessage* inet::Igmpv2::RouterInterfaceData::igmpQueryTimer

◆ igmpRouterState

◆ owner

Igmpv2* inet::Igmpv2::RouterInterfaceData::owner

Referenced by RouterInterfaceData().


The documentation for this struct was generated from the following files:
inet::Igmpv2::getRouterGroupStateString
static const std::string getRouterGroupStateString(RouterGroupState rgs)
Definition: Igmpv2.cc:933
inet::Igmpv2::getRouterStateString
static const std::string getRouterStateString(RouterState rs)
Definition: Igmpv2.cc:921
inet::units::units::g
milli< kg >::type g
Definition: Units.h:1071
inet::Igmpv2::RouterInterfaceData::owner
Igmpv2 * owner
Definition: Igmpv2.h:99
inet::Igmpv2::RouterInterfaceData::igmpRouterState
RouterState igmpRouterState
Definition: Igmpv2.h:101
inet::Igmpv2::RouterInterfaceData::igmpQueryTimer
cMessage * igmpQueryTimer
Definition: Igmpv2.h:102
inet::Igmpv2::IGMP_RS_INITIAL
@ IGMP_RS_INITIAL
Definition: Igmpv2.h:29
inet::Igmpv2::RouterInterfaceData::groups
GroupToRouterDataMap groups
Definition: Igmpv2.h:100