|
INET Framework for OMNeT++/OMNEST
|
This class defines the interface for active packet sources. More...
#include <IActivePacketSource.h>
Public Member Functions | |
| virtual | ~IActivePacketSource () |
| virtual IPassivePacketSink * | getConsumer (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... | |
This class defines the interface for active packet sources.
See the corresponding NED file for more details.
|
pure virtual |
Returns the passive packet sink where packets are pushed 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::PacketReceiverBase, inet::queueing::PacketFilterBase, inet::queueing::PacketClassifierBase, inet::PreemptableStreamer, inet::queueing::PacketGateBase, inet::queueing::PacketSchedulerBase, inet::PacketStreamer, inet::InterpacketGapInserter, inet::queueing::PacketFlowBase, inet::queueing::PacketMultiplexer, inet::PacketDestreamer, inet::DscpMarker, inet::queueing::MarkovScheduler, inet::queueing::PacketCloner, inet::queueing::PacketPusherBase, inet::PacketMeterBase, inet::SendToMacAddress, inet::queueing::PacketServerBase, inet::queueing::PacketDuplicatorBase, inet::queueing::PacketSendToPush, inet::queueing::ActivePacketSourceBase, and inet::queueing::EmptyPacketSource.
|
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().
|
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().