INET Framework for OMNeT++/OMNEST
|
Class holding informatation about neighboring PIM routers. More...
#include <PIMNeighborTable.h>
Public Types | |
enum | TimerKind { NeighborLivenessTimer = 1 } |
Public Member Functions | |
virtual | ~PIMNeighborTable () |
virtual bool | addNeighbor (PIMNeighbor *neighbor, double holdTime) |
Adds the a neighbor to the table. More... | |
virtual bool | deleteNeighbor (PIMNeighbor *neighbor) |
Deletes a neighbor from the table. More... | |
virtual void | restartLivenessTimer (PIMNeighbor *neighbor, double holdTime) |
Restarts the Neighbor Liveness timer of the given neighbor. More... | |
virtual PIMNeighbor * | findNeighbor (int interfaceId, IPv4Address addr) |
Returns the neighbor that is identified by the given (interfaceId,addr), or nullptr if no such neighbor. More... | |
virtual int | getNumNeighbors (int interfaceId) |
Returns the number of neighbors on the given interface. More... | |
virtual PIMNeighbor * | getNeighbor (int interfaceId, int index) |
Returns the neighbor on the given interface at the specified position. More... | |
Protected Types | |
typedef std::vector< PIMNeighbor * > | PIMNeighborVector |
typedef std::map< int, PIMNeighborVector > | InterfaceToNeighborsMap |
Protected Member Functions | |
virtual int | numInitStages () const override |
virtual void | initialize (int stage) override |
virtual void | handleMessage (cMessage *) override |
virtual void | processLivenessTimer (cMessage *timer) |
Protected Attributes | |
InterfaceToNeighborsMap | neighbors |
Friends | |
std::ostream & | operator<< (std::ostream &os, const PIMNeighborVector &v) |
Class holding informatation about neighboring PIM routers.
Routers are identified by the link to which they are connected and their address.
Expired entries are automatically deleted.
|
protected |
|
protected |
|
virtual |
|
virtual |
Adds the a neighbor to the table.
The operation might fail if there is a neighbor with the same (ie,address) in the table. Success is indicated by the returned value.
|
virtual |
Deletes a neighbor from the table.
If the neighbor was not found in the table then it is untouched, otherwise deleted. Returns true if the neighbor object was deleted.
|
virtual |
Returns the neighbor that is identified by the given (interfaceId,addr), or nullptr if no such neighbor.
Referenced by inet::PIMSM::addNewRouteG(), and inet::PIMSM::addNewRouteSG().
|
virtual |
Returns the neighbor on the given interface at the specified position.
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), and inet::PIMSM::updateDesignatedRouterAddress().
|
virtual |
Returns the number of neighbors on the given interface.
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), inet::PIMSM::processPruneG(), inet::PIMSM::processPrunePendingTimer(), inet::PIMSM::processPruneSG(), and inet::PIMSM::updateDesignatedRouterAddress().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
protectedvirtual |
|
virtual |
|
friend |
|
protected |