INET Framework for OMNeT++/OMNEST
inet::Ipv4InterfaceData::RouterMulticastData Struct Reference

#include <Ipv4InterfaceData.h>

Public Member Functions

 RouterMulticastData ()
 
virtual ~RouterMulticastData ()
 
std::string str ()
 
std::string detailedInfo ()
 

Public Attributes

RouterMulticastGroupVector reportedMulticastGroups
 multicast groups that have listeners on the link connected to this interface More...
 
int multicastTtlThreshold
 multicast ttl threshold, used by multicast routers to limit multicast scope More...
 

Constructor & Destructor Documentation

◆ RouterMulticastData()

inet::Ipv4InterfaceData::RouterMulticastData::RouterMulticastData ( )
inline
120 : multicastTtlThreshold(0) {}

◆ ~RouterMulticastData()

inet::Ipv4InterfaceData::RouterMulticastData::~RouterMulticastData ( )
virtual
110 {
111  for (auto& elem : reportedMulticastGroups)
112  delete elem;
113  reportedMulticastGroups.clear();
114 }

Member Function Documentation

◆ detailedInfo()

std::string inet::Ipv4InterfaceData::RouterMulticastData::detailedInfo ( )
133 {
134  std::stringstream out;
135  out << "TTL Threshold: " << multicastTtlThreshold << "\n";
136  out << "Multicast Listeners:";
137  for (auto& elem : reportedMulticastGroups) {
138  out << " " << elem->multicastGroup
139  << " " << elem->sourceList.detailedInfo();
140  }
141  out << "\n";
142  return out.str();
143 }

Referenced by inet::Ipv4InterfaceData::detailedInfo().

◆ str()

std::string inet::Ipv4InterfaceData::RouterMulticastData::str ( )
117 {
118  std::stringstream out;
119  if (reportedMulticastGroups.size() > 0) {
120  out << " mcast_listeners:";
121  for (size_t i = 0; i < reportedMulticastGroups.size(); ++i) {
122  out << (i > 0 ? "," : "") << reportedMulticastGroups[i]->multicastGroup;
123  if (!reportedMulticastGroups[i]->sourceList.containsAll())
124  out << " " << reportedMulticastGroups[i]->sourceList.str();
125  }
126  }
127  if (multicastTtlThreshold > 0)
128  out << " ttl_threshold: " << multicastTtlThreshold;
129  return out.str();
130 }

Referenced by inet::Ipv4InterfaceData::str().

Member Data Documentation

◆ multicastTtlThreshold

int inet::Ipv4InterfaceData::RouterMulticastData::multicastTtlThreshold

multicast ttl threshold, used by multicast routers to limit multicast scope

◆ reportedMulticastGroups

RouterMulticastGroupVector inet::Ipv4InterfaceData::RouterMulticastData::reportedMulticastGroups

The documentation for this struct was generated from the following files:
inet::Ipv4InterfaceData::RouterMulticastData::multicastTtlThreshold
int multicastTtlThreshold
multicast ttl threshold, used by multicast routers to limit multicast scope
Definition: Ipv4InterfaceData.h:118
inet::Ipv4InterfaceData::RouterMulticastData::reportedMulticastGroups
RouterMulticastGroupVector reportedMulticastGroups
multicast groups that have listeners on the link connected to this interface
Definition: Ipv4InterfaceData.h:117