|
INET Framework for OMNeT++/OMNEST
|
#include <StreamThroughTransmitter.h>
Public Member Functions | |
| virtual | ~StreamThroughTransmitter () |
| virtual bool | supportsPacketStreaming (cGate *gate) const override |
| Returns true if the processor supports streaming packets at the given gate. More... | |
| virtual void | pushPacket (Packet *packet, cGate *gate) override |
| Pushes the packet into the packet sink at the given gate. More... | |
| virtual void | pushPacketStart (Packet *packet, cGate *gate, bps datarate) override |
| Starts pushing the packet into the packet sink at the given gate. More... | |
| virtual void | pushPacketEnd (Packet *packet, cGate *gate) override |
| 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)) override |
| Progresses pushing the packet into the packet sink at the given gate. More... | |
Public Member Functions inherited from inet::StreamingTransmitterBase | |
| virtual bool | canPushSomePacket (cGate *gate) const override |
| 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 void | receiveSignal (cComponent *source, simsignal_t signal, cObject *object, cObject *details) override |
Public Member Functions inherited from inet::PacketTransmitterBase | |
| virtual | ~PacketTransmitterBase () |
| 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 | canPushPacket (Packet *packet, cGate *gate) const override |
| Returns true if the given packet can be pushed at the given gate into the packet sink without raising an error. More... | |
Public Member Functions inherited from inet::ClockUserModuleMixin< OperationalMixin< PacketProcessorBase > > | |
| 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::OperationalMixin< PacketProcessorBase > | |
| virtual | ~OperationalMixin () |
| }@ More... | |
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 const char * | resolveDirective (char directive) const override |
Public Member Functions inherited from inet::queueing::IPacketProcessor | |
| virtual | ~IPacketProcessor () |
Public Member Functions inherited from inet::ILifecycle | |
| virtual | ~ILifecycle () |
Public Member Functions inherited from inet::queueing::IPassivePacketSink | |
| virtual | ~IPassivePacketSink () |
Protected Member Functions | |
| virtual void | initialize (int stage) override |
| virtual void | handleMessageWhenUp (cMessage *message) override |
| virtual void | handleStopOperation (LifecycleOperation *operation) override |
| virtual void | handleCrashOperation (LifecycleOperation *operation) override |
| virtual void | startTx (Packet *packet, bps datarate, b position) |
| virtual void | progressTx (Packet *packet, bps datarate, b position) |
| virtual void | endTx () |
| virtual void | abortTx () override |
| virtual void | scheduleBufferUnderrunTimer () |
Protected Member Functions inherited from inet::StreamingTransmitterBase | |
| virtual void | scheduleAt (simtime_t t, cMessage *message) override |
| virtual void | scheduleTxEndTimer (Signal *signal) |
Protected Member Functions inherited from inet::PacketTransmitterBase | |
| virtual void | finish () override |
| virtual bool | isInitializeStage (int stage) const override |
| virtual bool | isModuleStartStage (int stage) const override |
| virtual bool | isModuleStopStage (int stage) const override |
| virtual void | handleStartOperation (LifecycleOperation *operation) override |
| virtual Signal * | encodePacket (Packet *packet) |
| virtual void | prepareSignal (Signal *signal) |
| virtual void | sendSignalStart (Signal *signal, int transmissionId) |
| virtual void | sendSignalProgress (Signal *signal, int transmissionId, b bitPosition, clocktime_t timePosition) |
| virtual void | sendSignalEnd (Signal *signal, int transmissionId) |
| virtual clocktime_t | calculateClockTimeDuration (const Packet *packet) const |
| virtual simtime_t | calculateDuration (clocktime_t clockTimeDuration) const |
| virtual bool | isTransmitting () const |
Protected Member Functions inherited from inet::OperationalMixin< PacketProcessorBase > | |
| virtual int | numInitStages () const override |
| virtual void | refreshDisplay () const override |
| virtual void | handleMessage (cMessage *msg) override |
| virtual void | handleMessageWhenDown (cMessage *msg) |
| virtual bool | handleOperationStage (LifecycleOperation *operation, IDoneCallback *doneCallback) override |
| Perform one stage of a lifecycle operation. More... | |
| virtual State | getInitialOperationalState () const |
| Returns initial operational state: OPERATING or NOT_OPERATING. More... | |
| virtual void | handleActiveOperationTimeout (cMessage *message) |
| virtual bool | isUp () const |
| utility functions More... | |
| virtual bool | isDown () const |
| virtual void | setOperationalState (State newState) |
| virtual void | scheduleOperationTimeout (simtime_t timeout) |
| virtual void | setupActiveOperation (LifecycleOperation *operation, IDoneCallback *doneCallback, State) |
| virtual void | delayActiveOperationFinish (simtime_t timeout) |
| virtual void | startActiveOperationExtraTime (simtime_t delay=SIMTIME_ZERO) |
| virtual void | startActiveOperationExtraTimeOrFinish (simtime_t extraTime) |
| virtual void | finishActiveOperation () |
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 |
Additional Inherited Members | |
Protected Types inherited from inet::OperationalMixin< PacketProcessorBase > | |
| enum | State |
Protected Types inherited from inet::queueing::PacketProcessorBase | |
| enum | Action { PUSH, PULL } |
|
inlinevirtual |
|
overrideprotectedvirtual |
Implements inet::StreamingTransmitterBase.
Referenced by handleCrashOperation(), and handleStopOperation().
|
protectedvirtual |
Referenced by handleMessageWhenUp().
|
overrideprotectedvirtual |
Implements inet::OperationalMixin< PacketProcessorBase >.
|
overrideprotectedvirtual |
Reimplemented from inet::PacketTransmitterBase.
|
overrideprotectedvirtual |
Implements inet::OperationalMixin< PacketProcessorBase >.
|
overrideprotectedvirtual |
Reimplemented from inet::StreamingTransmitterBase.
|
protectedvirtual |
Referenced by pushPacketEnd(), and pushPacketProgress().
|
inlineoverridevirtual |
Pushes the packet into the packet sink at the given gate.
This operation pushes the packet as a whole. The onwership of the packet is transferred to the sink.
This method is called, for example, when a packet source module pushes a packet into a queue module.
The sink must not be full at the gate. The packet must not be nullptr. The gate must be a valid gate of this module and it must support pushing and passing packets.
Implements inet::queueing::IPassivePacketSink.
|
overridevirtual |
Ends pushing the packet into the packet sink 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 to the sink.
The sink must not be full at the gate and no other packet streaming can be in progress. The packet must not be nullptr. The gate must be a valid gate of this module and it must support pushing and streaming packets.
Reimplemented from inet::PacketTransmitterBase.
|
overridevirtual |
Progresses pushing the packet into the packet sink 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 sink about a change in the packet data when a preemption occurs.
The sink must not be full at the gate and no other packet streaming can be in progress. The packet must not be nullptr. The gate must be a valid gate of this module and it must support pushing and streaming packets.
Reimplemented from inet::PacketTransmitterBase.
|
overridevirtual |
Starts pushing the packet into the packet sink 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 to the sink.
The sink must not be full at the gate and no other packet streaming can be in progress. The packet must not be nullptr. The gate must be a valid gate of this module and it must support pushing and streaming packets.
Reimplemented from inet::PacketTransmitterBase.
|
protectedvirtual |
Referenced by progressTx(), and startTx().
|
protectedvirtual |
Referenced by pushPacketProgress(), and pushPacketStart().
|
inlineoverridevirtual |
Returns true if the processor supports streaming packets at the given gate.
A streamed packet is handed over from one module to another using several method calls and potentially exending to a non-zero simulation duration.
For example, packets are streamed to a preemptable signal transmitter 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(stream) in the NED file.
Reimplemented from inet::queueing::PacketProcessorBase.
|
protected |
Referenced by handleMessageWhenUp(), initialize(), and scheduleBufferUnderrunTimer().
Referenced by abortTx(), endTx(), progressTx(), scheduleBufferUnderrunTimer(), and startTx().
Referenced by abortTx(), endTx(), progressTx(), scheduleBufferUnderrunTimer(), and startTx().
|
protected |
Referenced by abortTx(), endTx(), progressTx(), scheduleBufferUnderrunTimer(), and startTx().
Referenced by abortTx(), endTx(), progressTx(), scheduleBufferUnderrunTimer(), and startTx().
|
protected |
Referenced by abortTx(), endTx(), progressTx(), scheduleBufferUnderrunTimer(), and startTx().