StreamThroughTransmitter

Package: inet.protocolelement.transceiver

StreamThroughTransmitter

simple module

This module receives packets from the upper layer as a stream and also sends signals to the transmission medium as a stream. The stream start and stream end are sent seperately allowing the preemption of signals.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
StreamingTransmitterBase simple module (no description)

Parameters

Name Type Default value Description
displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

clockModule string ""

relative path of a module that implements IClock; optional

datarate double

Properties

Name Value Description
display i=block/wtx
class StreamThroughTransmitter

Gates

Name Direction Size Description
in input
out output

Signals

Name Type Unit
transmissionStarted inet::physicallayer::Signal
transmissionEnded inet::physicallayer::Signal

Statistics

Name Title Source Record Unit Interpolation Mode
transmissionTime transmission time packetDuration(transmissionEnded) vector, histogram s none
flowTransmissionTime flow transmission time packetDuration(demuxFlow(transmissionEnded)) vector, histogram s none
transmitting transmitting state count(transmissionStarted) - count(transmissionEnded) vector sample-hold
utilization utilization 100 * utilization(count(transmissionStarted) - count(transmissionEnded)) vector, histogram % linear
propagationTime propagation time s
throughput throughput throughput(transmissionEnded) vector, histogram bps linear

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
ClockEvent0TxEndTimer

Direct method calls (observed)

call tofunctioninfo
EthernetCutthroughSinkinet::EthernetCutthroughSink::handleCanPushPacketChangedhandleCanPushPacketChanged
EthernetCutthroughSinkinet::EthernetCutthroughSink::handlePushPacketProcessedhandlePushPacketProcessed
PacketEmitterinet::PacketEmitter::handleCanPushPacketChangedhandleCanPushPacketChanged
PacketEmitterinet::PacketEmitter::handlePushPacketProcessedhandlePushPacketProcessed

Called methods (observed)

functioninfocall from
inet::StreamThroughTransmitter::pushPacketEndpushPacketEndEthernetCutthroughSink, PacketEmitter
inet::StreamThroughTransmitter::pushPacketProgresspushPacketProgressPacketEmitter
inet::StreamThroughTransmitter::pushPacketStartpushPacketStartEthernetCutthroughSink
inet::StreamThroughTransmitter::receiveSignalPOST_MODEL_CHANGE-=Network=-

Outgoing messages (observed)

gatemsgkindctrldestModuletags
outSignal0DestreamingReceiver
outSignal0StreamThroughReceiver

Pushed in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0EthernetCutthroughSinkDirectionTag, EncapsulationProtocolReq, InterfaceInd, InterfaceReq, MacAddressReq, PacketProtocolTag, CutthroughTag?
inPacket0PacketEmitterDirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, PacketProtocolTag, TransportProtocolInd, VlanReq, FragmentTag?

Packet operations (observed)

chunkTypepacketAction
eraseAtBack, peekAll

Shared Tagging operations (observed)

tagTypetagAction
clearTags
PacketProtocolTagaddTag, removeTagIfPresent

Region Tagging operations (observed)

tagTypetagAction
FlowTagmapAllTags
PacketEventTagmapAllTagsForUpdate
PropagationTimeTagmapAllTagsForUpdate
TransmissionTimeTagmapAllTagsForUpdate

Source code

//
// This module receives packets from the upper layer as a stream and also
// sends signals to the transmission medium as a stream. The stream start and
// stream end are sent seperately allowing the preemption of signals.
//
simple StreamThroughTransmitter extends StreamingTransmitterBase like IPacketTransmitter
{
    parameters:
        @class(StreamThroughTransmitter);
}

File: src/inet/protocolelement/transceiver/StreamThroughTransmitter.ned