INET Framework for OMNeT++/OMNEST
inet::queueing::IActivePacketSink Class Referenceabstract

This class defines the interface for active packet sinks. More...

#include <IActivePacketSink.h>

Inheritance diagram for inet::queueing::IActivePacketSink:
inet::AckingMac inet::BMac inet::CsmaCaMac inet::EthernetMacBase inet::Ieee802154Mac inet::LMac inet::Ppp inet::queueing::ActivePacketSinkBase inet::queueing::IPacketPuller inet::queueing::IPacketSink inet::queueing::MarkovClassifier inet::queueing::PacketDemultiplexer inet::queueing::PacketServerBase inet::XMac

Public Member Functions

virtual ~IActivePacketSink ()
 
virtual IPassivePacketSourcegetProvider (cGate *gate)=0
 Returns the passive packet source from where packets are pulled or nullptr if the connected module doesn't implement the interface. More...
 
virtual void handleCanPullPacketChanged (cGate *gate)=0
 Notifies about a change in the possibility of pulling some packet from the passive packet source at the given gate. More...
 
virtual void handlePullPacketProcessed (Packet *packet, cGate *gate, bool successful)=0
 Notifies about the completion of the packet processing for a packet that was pulled earlier independently whether the packet is passed or streamed. More...
 

Detailed Description

This class defines the interface for active packet sinks.

See the corresponding NED file for more details.

Constructor & Destructor Documentation

◆ ~IActivePacketSink()

virtual inet::queueing::IActivePacketSink::~IActivePacketSink ( )
inlinevirtual
23 {}

Member Function Documentation

◆ getProvider()

◆ handleCanPullPacketChanged()

virtual void inet::queueing::IActivePacketSink::handleCanPullPacketChanged ( cGate *  gate)
pure virtual

Notifies about a change in the possibility of pulling some packet from the passive packet source at the given gate.

This method is called, for example, when a new packet is inserted into a queue. It allows the sink to pull a new packet from the queue.

The gate parameter must be a valid gate of this module.

Implemented in inet::CsmaCaMac, inet::LMac, inet::Ieee802154Mac, inet::XMac, inet::BMac, inet::queueing::PacketFilterBase, inet::AckingMac, inet::Ppp, inet::PreemptableStreamer, inet::queueing::PacketClassifierBase, inet::queueing::PacketSchedulerBase, inet::PacketStreamer, inet::PacketDestreamer, inet::queueing::PacketFlowBase, inet::queueing::PacketGateBase, inet::queueing::MarkovClassifier, inet::queueing::CreditBasedGate, inet::queueing::PacketDemultiplexer, inet::queueing::PacketPullerBase, inet::EligibilityTimeGate, inet::queueing::PreemptingServer, inet::queueing::TokenBasedServer, inet::queueing::PacketServer, inet::queueing::ActivePacketSink, inet::EthernetCsmaMac, inet::queueing::InstantServer, and inet::EthernetMac.

Referenced by inet::queueing::PacketPullerBase::handleCanPullPacketChanged(), inet::PacketDestreamer::handleCanPullPacketChanged(), inet::PacketStreamer::handleCanPullPacketChanged(), inet::queueing::PacketSchedulerBase::handleCanPullPacketChanged(), inet::PreemptableStreamer::handleCanPullPacketChanged(), inet::queueing::PassivePacketSource::handleMessage(), inet::queueing::PassivePacketSource::initialize(), and inet::queueing::PacketQueue::pushPacket().

◆ handlePullPacketProcessed()

virtual void inet::queueing::IActivePacketSink::handlePullPacketProcessed ( Packet packet,
cGate *  gate,
bool  successful 
)
pure virtual

The documentation for this class was generated from the following file: