INET Framework for OMNeT++/OMNEST
|
#include <IGMPv2.h>
Classes | |
struct | HostGroupData |
struct | HostInterfaceData |
struct | IGMPHostTimerContext |
struct | IGMPRouterTimerContext |
struct | RouterGroupData |
struct | RouterInterfaceData |
Protected Types | |
enum | RouterState { IGMP_RS_INITIAL, IGMP_RS_QUERIER, IGMP_RS_NON_QUERIER } |
enum | RouterGroupState { IGMP_RGS_NO_MEMBERS_PRESENT, IGMP_RGS_MEMBERS_PRESENT, IGMP_RGS_V1_MEMBERS_PRESENT, IGMP_RGS_CHECKING_MEMBERSHIP } |
enum | HostGroupState { IGMP_HGS_NON_MEMBER, IGMP_HGS_DELAYING_MEMBER, IGMP_HGS_IDLE_MEMBER } |
enum | IGMPTimerKind { IGMP_QUERY_TIMER, IGMP_HOSTGROUP_TIMER, IGMP_LEAVE_TIMER, IGMP_REXMT_TIMER } |
typedef std::map< IPv4Address, HostGroupData * > | GroupToHostDataMap |
typedef std::map< IPv4Address, RouterGroupData * > | GroupToRouterDataMap |
typedef std::map< int, HostInterfaceData * > | InterfaceToHostDataMap |
typedef std::map< int, RouterInterfaceData * > | InterfaceToRouterDataMap |
Protected Member Functions | |
virtual int | numInitStages () const override |
virtual void | initialize (int stage) override |
virtual void | handleMessage (cMessage *msg) override |
virtual void | receiveSignal (cComponent *source, simsignal_t signalID, cObject *obj, cObject *details) override |
virtual | ~IGMPv2 () |
virtual HostInterfaceData * | createHostInterfaceData () |
virtual RouterInterfaceData * | createRouterInterfaceData () |
virtual HostGroupData * | createHostGroupData (InterfaceEntry *ie, const IPv4Address &group) |
virtual RouterGroupData * | createRouterGroupData (InterfaceEntry *ie, const IPv4Address &group) |
virtual HostInterfaceData * | getHostInterfaceData (InterfaceEntry *ie) |
virtual RouterInterfaceData * | getRouterInterfaceData (InterfaceEntry *ie) |
virtual HostGroupData * | getHostGroupData (InterfaceEntry *ie, const IPv4Address &group) |
virtual RouterGroupData * | getRouterGroupData (InterfaceEntry *ie, const IPv4Address &group) |
virtual void | deleteHostInterfaceData (int interfaceId) |
virtual void | deleteRouterInterfaceData (int interfaceId) |
virtual void | deleteHostGroupData (InterfaceEntry *ie, const IPv4Address &group) |
virtual void | deleteRouterGroupData (InterfaceEntry *ie, const IPv4Address &group) |
virtual void | configureInterface (InterfaceEntry *ie) |
virtual void | multicastGroupJoined (InterfaceEntry *ie, const IPv4Address &groupAddr) |
virtual void | multicastGroupLeft (InterfaceEntry *ie, const IPv4Address &groupAddr) |
virtual void | startTimer (cMessage *timer, double interval) |
virtual void | startHostTimer (InterfaceEntry *ie, HostGroupData *group, double maxRespTime) |
virtual void | sendQuery (InterfaceEntry *ie, const IPv4Address &groupAddr, double maxRespTime) |
virtual void | sendReport (InterfaceEntry *ie, HostGroupData *group) |
virtual void | sendLeave (InterfaceEntry *ie, HostGroupData *group) |
virtual void | sendToIP (IGMPMessage *msg, InterfaceEntry *ie, const IPv4Address &dest) |
virtual void | processQueryTimer (cMessage *msg) |
virtual void | processHostGroupTimer (cMessage *msg) |
virtual void | processLeaveTimer (cMessage *msg) |
virtual void | processRexmtTimer (cMessage *msg) |
virtual void | processIgmpMessage (IGMPMessage *msg) |
virtual void | processQuery (InterfaceEntry *ie, const IPv4Address &sender, IGMPQuery *msg) |
virtual void | processGroupQuery (InterfaceEntry *ie, HostGroupData *group, int maxRespTime) |
virtual void | processV2Report (InterfaceEntry *ie, IGMPv2Report *msg) |
virtual void | processLeave (InterfaceEntry *ie, IGMPv2Leave *msg) |
Protected Attributes | |
IIPv4RoutingTable * | rt |
IInterfaceTable * | ift |
bool | enabled |
bool | externalRouter |
int | robustness |
double | queryInterval |
double | queryResponseInterval |
double | groupMembershipInterval |
double | otherQuerierPresentInterval |
double | startupQueryInterval |
double | startupQueryCount |
double | lastMemberQueryInterval |
double | lastMemberQueryCount |
double | unsolicitedReportInterval |
InterfaceToHostDataMap | hostData |
InterfaceToRouterDataMap | routerData |
int | numGroups |
int | numHostGroups |
int | numRouterGroups |
int | numQueriesSent |
int | numQueriesRecv |
int | numGeneralQueriesSent |
int | numGeneralQueriesRecv |
int | numGroupSpecificQueriesSent |
int | numGroupSpecificQueriesRecv |
int | numReportsSent |
int | numReportsRecv |
int | numLeavesSent |
int | numLeavesRecv |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
Referenced by initialize(), and receiveSignal().
|
protectedvirtual |
Referenced by multicastGroupJoined().
|
protectedvirtual |
Referenced by getHostInterfaceData().
|
protectedvirtual |
Referenced by processV2Report().
|
protectedvirtual |
Referenced by getRouterInterfaceData().
|
protectedvirtual |
Referenced by multicastGroupLeft().
|
protectedvirtual |
Referenced by receiveSignal(), and ~IGMPv2().
|
protectedvirtual |
Referenced by processLeaveTimer().
|
protectedvirtual |
Referenced by receiveSignal(), and ~IGMPv2().
|
protectedvirtual |
Referenced by multicastGroupLeft(), and processV2Report().
|
protectedvirtual |
Referenced by createHostGroupData(), deleteHostGroupData(), getHostGroupData(), and processQuery().
|
protectedvirtual |
Referenced by processLeave(), processQuery(), and processV2Report().
|
protectedvirtual |
Referenced by configureInterface(), createRouterGroupData(), deleteRouterGroupData(), getRouterGroupData(), processLeave(), processQuery(), processQueryTimer(), and sendQuery().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by receiveSignal().
|
protectedvirtual |
Referenced by receiveSignal().
|
inlineoverrideprotectedvirtual |
|
protectedvirtual |
Referenced by processQuery().
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by processIgmpMessage().
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by processIgmpMessage().
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by handleMessage().
|
protectedvirtual |
Referenced by processIgmpMessage().
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by multicastGroupLeft().
|
protectedvirtual |
Referenced by configureInterface(), processLeave(), processQueryTimer(), and processRexmtTimer().
|
protectedvirtual |
Referenced by multicastGroupJoined(), and processHostGroupTimer().
|
protectedvirtual |
Referenced by sendLeave(), sendQuery(), and sendReport().
|
protectedvirtual |
Referenced by multicastGroupJoined(), and processGroupQuery().
|
protectedvirtual |
Referenced by configureInterface(), processLeave(), processQuery(), processQueryTimer(), processRexmtTimer(), processV2Report(), and startHostTimer().
|
protected |
Referenced by configureInterface(), handleMessage(), initialize(), multicastGroupJoined(), and multicastGroupLeft().
|
protected |
Referenced by configureInterface(), initialize(), processIgmpMessage(), processLeave(), processQuery(), and processV2Report().
|
protected |
Referenced by initialize(), and processV2Report().
|
protected |
Referenced by deleteHostInterfaceData(), getHostInterfaceData(), and ~IGMPv2().
|
protected |
Referenced by initialize(), and processIgmpMessage().
|
protected |
Referenced by initialize(), processLeave(), and processQuery().
|
protected |
Referenced by initialize(), processLeave(), and processRexmtTimer().
|
protected |
Referenced by initialize(), and processQuery().
|
protected |
Referenced by initialize(), and sendQuery().
|
protected |
Referenced by initialize(), multicastGroupJoined(), multicastGroupLeft(), processLeaveTimer(), and processV2Report().
|
protected |
Referenced by initialize(), and processQuery().
|
protected |
Referenced by initialize(), and sendQuery().
|
protected |
Referenced by initialize(), multicastGroupJoined(), and multicastGroupLeft().
|
protected |
Referenced by initialize(), and processLeave().
|
protected |
Referenced by initialize(), and sendLeave().
|
protected |
Referenced by initialize(), and processQuery().
|
protected |
Referenced by initialize(), and sendQuery().
|
protected |
Referenced by initialize(), and processV2Report().
|
protected |
Referenced by initialize(), and sendReport().
|
protected |
Referenced by initialize(), processLeaveTimer(), and processV2Report().
|
protected |
Referenced by initialize(), and processQuery().
|
protected |
Referenced by initialize(), and processQueryTimer().
|
protected |
Referenced by configureInterface(), initialize(), and processQueryTimer().
|
protected |
Referenced by initialize().
|
protected |
Referenced by configureInterface(), deleteRouterInterfaceData(), getRouterInterfaceData(), and ~IGMPv2().
|
protected |
Referenced by configureInterface(), initialize(), processLeave(), processQuery(), and processV2Report().
|
protected |
Referenced by initialize().
|
protected |
Referenced by configureInterface(), and initialize().
|
protected |
Referenced by initialize(), and multicastGroupJoined().