|
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().