INET Framework for OMNeT++/OMNEST
|
Public Types | |
enum | Flags { HAS_CONNECTED_RECEIVERS = 0x01 } |
enum | PruneState { NO_INFO, PRUNE_PENDING, PRUNED } |
Public Types inherited from inet::PIMBase::Interface | |
enum | AssertState { NO_ASSERT_INFO, I_LOST_ASSERT, I_WON_ASSERT } |
Public Member Functions | |
DownstreamInterface (Route *owner, InterfaceEntry *ie) | |
~DownstreamInterface () | |
Route * | route () const |
PIMDM * | pimdm () const |
bool | hasConnectedReceivers () const |
void | setHasConnectedReceivers (bool value) |
bool | isInOlist () const |
void | startPruneTimer (double holdTime) |
The method is used to create PIMPrune timer. More... | |
void | stopPruneTimer () |
void | startPrunePendingTimer (double overrideInterval) |
void | stopPrunePendingTimer () |
Public Member Functions inherited from inet::PIMBase::Interface | |
Interface (RouteEntry *owner, InterfaceEntry *ie) | |
virtual | ~Interface () |
bool | isFlagSet (int flag) const |
void | setFlags (int flags) |
void | clearFlag (int flag) |
void | setFlag (int flag, bool value) |
void | startAssertTimer (double assertTime) |
void | deleteAssertInfo () |
Public Attributes | |
PruneState | pruneState |
cMessage * | pruneTimer |
cMessage * | prunePendingTimer |
Public Attributes inherited from inet::PIMBase::Interface | |
RouteEntry * | owner |
InterfaceEntry * | ie |
int | flags |
AssertState | assertState |
cMessage * | assertTimer |
AssertMetric | winnerMetric |
|
inline |
inet::PIMDM::DownstreamInterface::~DownstreamInterface | ( | ) |
|
inline |
bool inet::PIMDM::DownstreamInterface::isInOlist | ( | ) | const |
Referenced by inet::PIMDM::PIMDMOutInterface::isEnabled(), inet::PIMDM::multicastReceiverAdded(), inet::PIMDM::multicastReceiverRemoved(), and inet::PIMDM::processGraft().
|
inline |
|
inline |
Referenced by inet::PIMDM::processPrunePendingTimer(), and inet::PIMDM::processPruneTimer().
|
inline |
Referenced by inet::PIMDM::multicastReceiverAdded(), and inet::PIMDM::unroutableMulticastPacketArrived().
void inet::PIMDM::DownstreamInterface::startPrunePendingTimer | ( | double | overrideInterval | ) |
Referenced by inet::PIMDM::processPrune().
void inet::PIMDM::DownstreamInterface::startPruneTimer | ( | double | holdTime | ) |
The method is used to create PIMPrune timer.
The timer is set when outgoing interface goes to pruned state. After expiration (usually 3min) interface goes back to forwarding state. It is set to (S,G,I).
Referenced by inet::PIMDM::multicastPacketArrivedOnNonRpfInterface(), and inet::PIMDM::processPrunePendingTimer().
void inet::PIMDM::DownstreamInterface::stopPrunePendingTimer | ( | ) |
Referenced by inet::PIMDM::processGraft(), and inet::PIMDM::processJoin().
void inet::PIMDM::DownstreamInterface::stopPruneTimer | ( | ) |
Referenced by inet::PIMDM::processGraft(), inet::PIMDM::processJoin(), and inet::PIMDM::processPruneTimer().
cMessage* inet::PIMDM::DownstreamInterface::prunePendingTimer |
Referenced by inet::PIMDM::processPrunePendingTimer().
PruneState inet::PIMDM::DownstreamInterface::pruneState |
Referenced by inet::PIMDM::multicastPacketArrivedOnNonRpfInterface(), inet::PIMDM::multicastReceiverAdded(), inet::PIMDM::processGraft(), inet::PIMDM::processJoin(), inet::PIMDM::processPrune(), inet::PIMDM::processPrunePendingTimer(), inet::PIMDM::processPruneTimer(), inet::PIMDM::processStateRefreshPacket(), inet::PIMDM::processStateRefreshTimer(), and inet::PIMDM::sendStateRefreshPacket().
cMessage* inet::PIMDM::DownstreamInterface::pruneTimer |