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

This class defines the interface for packet duplicators. More...

#include <IPacketDuplicator.h>

Inheritance diagram for inet::queueing::IPacketDuplicator:
inet::queueing::IPassivePacketSink inet::queueing::IActivePacketSource inet::queueing::PacketDuplicatorBase inet::queueing::OrdinalBasedDuplicator inet::StreamSplitter

Public Member Functions

virtual int getNumPacketDuplicates (Packet *packet)=0
 Returns the number of duplicates to be generated. More...
 
- Public Member Functions inherited from inet::queueing::IPassivePacketSink
virtual ~IPassivePacketSink ()
 
virtual bool canPushSomePacket (cGate *gate) const =0
 Returns false if the packet sink is full at the given gate and no more packets can be pushed into it without raising an error. More...
 
virtual bool canPushPacket (Packet *packet, cGate *gate) const =0
 Returns true if the given packet can be pushed at the given gate into the packet sink without raising an error. More...
 
virtual void pushPacket (Packet *packet, cGate *gate)=0
 Pushes the packet into the packet sink at the given gate. More...
 
virtual void pushPacketStart (Packet *packet, cGate *gate, bps datarate)=0
 Starts pushing the packet into the packet sink at the given gate. More...
 
virtual void pushPacketEnd (Packet *packet, cGate *gate)=0
 Ends pushing the packet into the packet sink at the given gate. More...
 
virtual void pushPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength=b(0))=0
 Progresses pushing the packet into the packet sink at the given gate. More...
 
- Public Member Functions inherited from inet::queueing::IActivePacketSource
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 packet duplicators.

Member Function Documentation

◆ getNumPacketDuplicates()

virtual int inet::queueing::IPacketDuplicator::getNumPacketDuplicates ( Packet packet)
pure virtual

Returns the number of duplicates to be generated.

Implemented in inet::queueing::OrdinalBasedDuplicator, and inet::StreamSplitter.

Referenced by inet::queueing::PacketDuplicatorBase::pushPacket().


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