|
INET Framework for OMNeT++/OMNEST
|
This class defines the interface for active packet sinks. More...
#include <IActivePacketSink.h>
Public Member Functions | |
| virtual | ~IActivePacketSink () |
| virtual IPassivePacketSource * | getProvider (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... | |
This class defines the interface for active packet sinks.
See the corresponding NED file for more details.
|
pure virtual |
Returns the passive packet source from where packets are pulled or nullptr if the connected module doesn't implement the interface.
The gate parameter must be a valid gate of this module.
Implemented in inet::CsmaCaMac, inet::EthernetMacBase, inet::LMac, inet::Ieee802154Mac, inet::XMac, inet::BMac, inet::AckingMac, inet::Ppp, inet::queueing::PacketFilterBase, inet::PreemptableStreamer, inet::queueing::PacketClassifierBase, inet::queueing::PacketGateBase, inet::queueing::PacketSchedulerBase, inet::PacketStreamer, inet::queueing::PacketFlowBase, inet::PacketDestreamer, inet::queueing::MarkovClassifier, inet::queueing::PacketPullerBase, inet::queueing::PacketServerBase, inet::queueing::PacketDemultiplexer, and inet::queueing::ActivePacketSinkBase.
|
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().
|
pure virtual |
Notifies about the completion of the packet processing for a packet that was pulled earlier independently whether the packet is passed or streamed.
This method is called, for example, when a previously pulled packet is failed to be processed successfully. It allows the sink to retry the operation.
The gate parameter must be a valid gate of this module. The packet must not be nullptr.
Implemented in inet::CsmaCaMac, inet::EthernetMacBase, inet::LMac, inet::Ieee802154Mac, inet::XMac, inet::BMac, inet::AckingMac, inet::queueing::PacketFilterBase, inet::Ppp, inet::PreemptableStreamer, inet::queueing::PacketClassifierBase, inet::queueing::PacketSchedulerBase, inet::PacketStreamer, inet::queueing::PacketFlowBase, inet::PacketDestreamer, inet::queueing::MarkovClassifier, inet::queueing::PacketPullerBase, inet::queueing::PacketDemultiplexer, inet::queueing::PacketServerBase, and inet::queueing::ActivePacketSink.
Referenced by inet::queueing::PacketPullerBase::handlePullPacketProcessed(), inet::PacketDestreamer::handlePullPacketProcessed(), inet::PacketStreamer::handlePullPacketProcessed(), inet::queueing::PacketSchedulerBase::handlePullPacketProcessed(), and inet::PreemptableStreamer::handlePullPacketProcessed().