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

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

#include <IActivePacketSource.h>

Inheritance diagram for inet::queueing::IActivePacketSource:
inet::DscpMarker inet::PacketMeterBase inet::PacketReceiverBase inet::queueing::ActivePacketSourceBase inet::queueing::EmptyPacketSource inet::queueing::IPacketDuplicator inet::queueing::IPacketPusher inet::queueing::IPacketSource inet::queueing::MarkovScheduler inet::queueing::PacketCloner inet::queueing::PacketMultiplexer inet::queueing::PacketSendToPush inet::queueing::PacketServerBase

Public Member Functions

virtual ~IActivePacketSource ()
 
virtual IPassivePacketSinkgetConsumer (cGate *gate)=0
 Returns the passive packet sink where packets are pushed or nullptr if the connected module doesn't implement the interface. More...
 
virtual void handleCanPushPacketChanged (cGate *gate)=0
 Notifies about a change in the possibility of pushing some packet into the passive packet sink at the given gate. More...
 
virtual void handlePushPacketProcessed (Packet *packet, cGate *gate, bool successful)=0
 Notifies about the completion of the packet processing for a packet that was pushed earlier independently whether the packet is passed or streamed. More...
 

Detailed Description

This class defines the interface for active packet sources.

See the corresponding NED file for more details.

Constructor & Destructor Documentation

◆ ~IActivePacketSource()

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

Member Function Documentation

◆ getConsumer()

◆ handleCanPushPacketChanged()

virtual void inet::queueing::IActivePacketSource::handleCanPushPacketChanged ( cGate *  gate)
pure virtual

Notifies about a change in the possibility of pushing some packet into the passive packet sink at the given gate.

This method is called, for example, when a new packet can be inserted into a queue. It allows the source to push a new packet into the queue.

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

Implemented in inet::queueing::PacketFilterBase, inet::PreemptableStreamer, inet::queueing::PacketClassifierBase, inet::queueing::PacketSchedulerBase, inet::PacketStreamer, inet::queueing::PacketGateBase, inet::InterpacketGapInserter, inet::queueing::PacketFlowBase, inet::queueing::PacketMultiplexer, inet::PacketDestreamer, inet::PacketReceiverBase, inet::queueing::MarkovScheduler, inet::DscpMarker, inet::queueing::PacketPusherBase, inet::queueing::PacketCloner, inet::queueing::PacketDuplicatorBase, inet::queueing::PreemptingServer, inet::PacketMeterBase, inet::queueing::TokenBasedServer, inet::queueing::PacketServer, inet::queueing::ActivePacketSource, inet::SendToMacAddress, inet::queueing::PacketSendToPush, inet::queueing::EmptyPacketSource, inet::queueing::PcapFilePacketProducer, inet::queueing::PacketDelayer, inet::queueing::InstantServer, and inet::queueing::PacketDuplicator.

Referenced by inet::queueing::PacketDuplicator::handleCanPushPacketChanged(), inet::queueing::PacketDelayer::handleCanPushPacketChanged(), inet::PacketMeterBase::handleCanPushPacketChanged(), inet::queueing::PacketDuplicatorBase::handleCanPushPacketChanged(), inet::queueing::PacketCloner::handleCanPushPacketChanged(), inet::queueing::PacketPusherBase::handleCanPushPacketChanged(), inet::PacketDestreamer::handleCanPushPacketChanged(), inet::InterpacketGapInserter::handleCanPushPacketChanged(), inet::PacketStreamer::handleCanPushPacketChanged(), inet::queueing::PacketClassifierBase::handleCanPushPacketChanged(), inet::PreemptableStreamer::handleCanPushPacketChanged(), inet::queueing::PassivePacketSink::handleMessage(), inet::InterpacketGapInserter::handleMessage(), inet::Resending::handlePushPacketProcessed(), inet::queueing::PcapFilePacketConsumer::initialize(), inet::queueing::PassivePacketSink::initialize(), and inet::queueing::PacketQueue::initialize().

◆ handlePushPacketProcessed()

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

Notifies about the completion of the packet processing for a packet that was pushed earlier independently whether the packet is passed or streamed.

This method is called, for example, when a previously pushed packet is failed to be processed successfully. It allows the source to retry the operation.

The gate parameter must be a valid gate of this module. The packet must not be nullptr.

Implemented in inet::queueing::PacketFilterBase, inet::PreemptableStreamer, inet::queueing::PacketClassifierBase, inet::queueing::PacketSchedulerBase, inet::PacketStreamer, inet::DscpMarker, inet::InterpacketGapInserter, inet::queueing::PacketFlowBase, inet::queueing::PacketMultiplexer, inet::PacketDestreamer, inet::PacketReceiverBase, inet::queueing::MarkovScheduler, inet::queueing::PacketPusherBase, inet::queueing::PacketCloner, inet::queueing::PacketDuplicatorBase, inet::queueing::PreemptingServer, inet::PacketMeterBase, inet::PacketEmitter, inet::queueing::PacketServerBase, inet::SendToMacAddress, inet::queueing::ActivePacketSource, inet::EthernetCutthroughSink, inet::queueing::PacketSendToPush, inet::queueing::EmptyPacketSource, inet::Resending, inet::queueing::PcapFilePacketProducer, inet::queueing::PacketDelayer, and inet::queueing::PacketDuplicator.

Referenced by inet::queueing::PacketDuplicator::handlePushPacketProcessed(), inet::queueing::PacketDelayer::handlePushPacketProcessed(), inet::Resending::handlePushPacketProcessed(), inet::EthernetCutthroughSink::handlePushPacketProcessed(), inet::PacketMeterBase::handlePushPacketProcessed(), inet::queueing::PacketPusherBase::handlePushPacketProcessed(), inet::queueing::PacketCloner::handlePushPacketProcessed(), inet::PacketDestreamer::handlePushPacketProcessed(), inet::InterpacketGapInserter::handlePushPacketProcessed(), inet::PacketStreamer::handlePushPacketProcessed(), inet::queueing::PacketClassifierBase::handlePushPacketProcessed(), and inet::PreemptableStreamer::handlePushPacketProcessed().


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