|
INET Framework for OMNeT++/OMNEST
|
#include <PassivePacketSource.h>
Public Member Functions | |
| virtual | ~PassivePacketSource () |
| virtual bool | supportsPacketPushing (cGate *gate) const override |
| Returns true if the processor supports pushing packets at the given gate. More... | |
| virtual bool | supportsPacketPulling (cGate *gate) const override |
| Returns true if the processor supports pulling packets at the given gate. More... | |
| virtual bool | canPullSomePacket (cGate *gate) const override |
| Returns false if the packet source is empty at the given gate and no more packets can be pulled from it without raising an error. More... | |
| virtual Packet * | canPullPacket (cGate *gate) const override |
| Returns the packet that can be pulled at the given gate. More... | |
| virtual Packet * | pullPacket (cGate *gate) override |
| Pulls the packet from the packet source at the given gate. More... | |
| virtual Packet * | pullPacketStart (cGate *gate, bps datarate) override |
| Starts pulling the packet from the packet source at the given gate. More... | |
| virtual Packet * | pullPacketEnd (cGate *gate) override |
| Ends pulling the packet from the packet source at the given gate. More... | |
| virtual Packet * | pullPacketProgress (cGate *gate, bps datarate, b position, b extraProcessableLength) override |
| Progresses pulling the packet from the packet source at the given gate. More... | |
Public Member Functions inherited from inet::ClockUserModuleMixin< PassivePacketSourceBase > | |
| virtual void | scheduleClockEventAt (clocktime_t time, ClockEvent *msg) |
| virtual void | scheduleClockEventAfter (clocktime_t delay, ClockEvent *msg) |
| virtual cMessage * | cancelClockEvent (ClockEvent *msg) |
| virtual void | cancelAndDeleteClockEvent (ClockEvent *msg) |
| virtual void | rescheduleClockEventAt (clocktime_t time, ClockEvent *msg) |
| virtual void | rescheduleClockEventAfter (clocktime_t time, ClockEvent *msg) |
| virtual clocktime_t | computeClockTimeFromSimTime (simtime_t time) const |
| virtual simtime_t | computeSimTimeFromClockTime (clocktime_t time) const |
| virtual clocktime_t | getClockTime () const |
| virtual clocktime_t | getArrivalClockTime (ClockEvent *msg) const |
Public Member Functions inherited from inet::queueing::PacketProcessorBase | |
| virtual bool | supportsPacketSending (cGate *gate) const override |
| Returns true if the processor supports sending packets at the given gate. More... | |
| virtual bool | supportsPacketPassing (cGate *gate) const override |
| Returns true if the processor supports passing packets as a whole at the given gate. More... | |
| virtual bool | supportsPacketStreaming (cGate *gate) const override |
| Returns true if the processor supports streaming packets at the given gate. More... | |
| virtual const char * | resolveDirective (char directive) const override |
Public Member Functions inherited from inet::queueing::IPacketProcessor | |
| virtual | ~IPacketProcessor () |
Public Member Functions inherited from inet::queueing::IPassivePacketSource | |
| virtual | ~IPassivePacketSource () |
Protected Member Functions | |
| virtual void | initialize (int stage) override |
| virtual void | handleMessage (cMessage *message) override |
| virtual void | scheduleProvidingTimer () |
| virtual Packet * | providePacket (cGate *gate) |
Protected Member Functions inherited from inet::queueing::PacketSourceBase | |
| virtual const char * | createPacketName (const Ptr< const Chunk > &data) const |
| virtual Ptr< Chunk > | createPacketContent () const |
| virtual Packet * | createPacket () |
| virtual const cModule * | findContainingApplication () const |
| virtual const cModule * | getContainingApplication () const |
Protected Member Functions inherited from inet::queueing::PacketProcessorBase | |
| virtual int | numInitStages () const override |
| virtual void | refreshDisplay () const override |
| virtual void | handlePacketProcessed (Packet *packet) |
| virtual void | checkPacketOperationSupport (cGate *gate) const |
| virtual void | checkPacketOperationSupport (cGate *startGate, cGate *endGate) const |
| virtual void | animate (Packet *packet, cGate *gate, const SendOptions &sendOptions, Action action) const |
| virtual void | animatePacket (Packet *packet, cGate *gate, Action action) const |
| virtual void | animatePacketStart (Packet *packet, cGate *gate, bps datarate, long transmissionId, Action action) const |
| virtual void | animatePacketStart (Packet *packet, cGate *gate, bps datarate, const SendOptions &sendOptions, Action action) const |
| virtual void | animatePacketEnd (Packet *packet, cGate *gate, long transmissionId, Action action) const |
| virtual void | animatePacketEnd (Packet *packet, cGate *gate, const SendOptions &sendOptions, Action action) const |
| virtual void | animatePacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, long transmissionId, Action action) const |
| virtual void | animatePacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, const SendOptions &sendOptions, Action action) const |
| virtual void | pushOrSendPacket (Packet *packet, cGate *gate, IPassivePacketSink *consumer) |
| virtual void | pushOrSendPacketStart (Packet *packet, cGate *gate, IPassivePacketSink *consumer, bps datarate, int transmissionId) |
| virtual void | pushOrSendPacketEnd (Packet *packet, cGate *gate, IPassivePacketSink *consumer, int transmissionId) |
| virtual void | pushOrSendPacketProgress (Packet *packet, cGate *gate, IPassivePacketSink *consumer, bps datarate, b position, b extraProcessableLength, int transmissionId) |
| virtual void | animatePush (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePushPacket (Packet *packet, cGate *gate) const |
| virtual void | animatePushPacketStart (Packet *packet, cGate *gate, bps datarate, long transmissionId) const |
| virtual void | animatePushPacketStart (Packet *packet, cGate *gate, bps datarate, const SendOptions &sendOptions) const |
| virtual void | animatePushPacketEnd (Packet *packet, cGate *gate, long transmissionId) const |
| virtual void | animatePushPacketEnd (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePushPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, long transmissionId) const |
| virtual void | animatePushPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, const SendOptions &sendOptions) const |
| virtual void | animatePull (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePullPacket (Packet *packet, cGate *gate) const |
| virtual void | animatePullPacketStart (Packet *packet, cGate *gate, bps datarate, long transmissionId) const |
| virtual void | animatePullPacketStart (Packet *packet, cGate *gate, bps datarate, const SendOptions &sendOptions) const |
| virtual void | animatePullPacketEnd (Packet *packet, cGate *gate, long transmissionId) const |
| virtual void | animatePullPacketEnd (Packet *packet, cGate *gate, const SendOptions &sendOptions) const |
| virtual void | animatePullPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, long transmissionId) const |
| virtual void | animatePullPacketProgress (Packet *packet, cGate *gate, bps datarate, b position, b extraProcessableLength, const SendOptions &sendOptions) const |
| virtual void | dropPacket (Packet *packet, PacketDropReason reason, int limit=-1) |
| virtual void | updateDisplayString () const |
Protected Attributes | |
| cPar * | providingIntervalParameter = nullptr |
| ClockEvent * | providingTimer = nullptr |
| bool | scheduleForAbsoluteTime = false |
| Packet * | nextPacket = nullptr |
Protected Attributes inherited from inet::queueing::PassivePacketSourceBase | |
| cGate * | outputGate = nullptr |
| IActivePacketSink * | collector = nullptr |
Protected Attributes inherited from inet::queueing::PacketSourceBase | |
| const char * | packetNameFormat = nullptr |
| const char * | packetRepresentation = nullptr |
| cPar * | packetLengthParameter = nullptr |
| cPar * | packetDataParameter = nullptr |
| bool | attachCreationTimeTag = false |
| bool | attachIdentityTag = false |
| bool | attachDirectionTag = false |
Protected Attributes inherited from inet::queueing::PacketProcessorBase | |
| const char * | displayStringTextFormat = nullptr |
| int | numProcessedPackets = -1 |
| b | processedTotalLength = b(-1) |
Additional Inherited Members | |
Protected Types inherited from inet::queueing::PacketProcessorBase | |
| enum | Action { PUSH, PULL } |
|
inlinevirtual |
|
overridevirtual |
Returns the packet that can be pulled at the given gate.
The returned value is nullptr if there is no such packet.
The gate must be a valid gate of this module and it must support pushing packets.
Implements inet::queueing::IPassivePacketSource.
|
inlineoverridevirtual |
Returns false if the packet source is empty at the given gate and no more packets can be pulled from it without raising an error.
The gate must be a valid gate of this module and it must support pulling packets.
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
protectedvirtual |
Referenced by pullPacket().
|
overridevirtual |
Pulls the packet from the packet source at the given gate.
This operation pulls the packet as a whole. The onwership of the packet is transferred to the sink.
The source must not be empty at the given gate. The returned packet must not be nullptr. The gate must be a valid gate of this module and it must support pulling and passing packets.
Implements inet::queueing::IPassivePacketSource.
|
inlineoverridevirtual |
Ends pulling the packet from the packet source at the given gate.
This is a packet streaming operation. The onwership of the packet is transferred to the sink.
Packet streaming can be started with any of the streaming operations, and ends when the streaming position plus the extra processable packet length equals to the total packet length.
This method is called, for example, when a preemption supporting server module ends streaming a packet from the the source.
The source must not be empty at the gate and no other packet streaming can be in progress. The gate must be a valid gate of this module and it must support pulling and streaming packets. The returned packet must not be nullptr.
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
inlineoverridevirtual |
Progresses pulling the packet from the packet source at the given gate.
This is a packet streaming operation. The position specifies where the packet streaming is at the moment. The extra length parameter partially fixes the future of the packet streaming operation. The onwership of the packet is transferred to the sink.
Packet streaming can be started with any of the streaming operations, and ends when the streaming position plus the extra processable packet length equals to the total packet length.
This method is called, for example, to notify the source about a change in the packet data when a preemption occurs.
The source must not be empty at the gate and no other packet streaming can be in progress. The gate must be a valid gate of this module and it must support pulling and streaming packets. The returned packet must not be nullptr.
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
inlineoverridevirtual |
Starts pulling the packet from the packet source at the given gate.
This is a packet streaming operation. The onwership of the packet is transferred to the sink.
Packet streaming can be started with any of the streaming operations, and ends when the streaming position plus the extra processable packet length equals to the total packet length.
This method is called, for example, when a preemption supporting server module starts streaming a packet from the source.
The source must not be empty at the gate and no other packet streaming can be in progress. The gate must be a valid gate of this module and it must support pulling and streaming packets. The returned packet must not be nullptr.
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
protectedvirtual |
Referenced by pullPacket().
|
inlineoverridevirtual |
Returns true if the processor supports pulling packets at the given gate.
Pulling a packet is a synchronous operation that is initiated by the sink module. A pulled packet can be passed as a whole using pullPacket(), or it can be streamed from the source to the sink using pullPacketStart(), pullPacketEnd(), and pullPacketProgress().
For output gates, true means that the connected module can pull packets from this module. For input gates, true means that this module can pull packets from the connected module. For example, a packet server module can pull packets from a queue module.
Connecting incompatible gates raises an error during initialize. The gate parameter must be a valid gate of this module. The gate should be marked with @labels(pull) in the NED file.
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
inlineoverridevirtual |
Returns true if the processor supports pushing packets at the given gate.
Pushing a packet is a synchronous operation that is initiated by the source module. A pushed packet can be passed as a whole using pushPacket(), or it can be streamed from the source to the sink using pushPacketStart(), pushPacketEnd(), and pushPacketProgress().
For output gates, true means that this module can push packets into the connected module. For input gates, true means that the connected module can push packets into this module. For example, a packet generator module can push packets into a queue module.
Connecting incompatible gates raises an error during initialize. The gate parameter must be a valid gate of this module. The gate should be marked with @labels(push) in the NED file.
Reimplemented from inet::queueing::PassivePacketSourceBase.
|
mutableprotected |
Referenced by canPullPacket(), initialize(), and providePacket().
|
protected |
Referenced by initialize(), and scheduleProvidingTimer().
|
protected |
Referenced by canPullPacket(), handleMessage(), initialize(), pullPacket(), and scheduleProvidingTimer().
|
protected |
Referenced by initialize(), and scheduleProvidingTimer().