Package: inet.protocolelement.transceiver
StreamThroughTransmitter
simple moduleThis 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)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
ClockEvent | 0 | TxEndTimer |
Direct method calls (observed)
call to | function | info |
---|---|---|
EthernetCutthroughSink | inet::EthernetCutthroughSink::handleCanPushPacketChanged | handleCanPushPacketChanged |
EthernetCutthroughSink | inet::EthernetCutthroughSink::handlePushPacketProcessed | handlePushPacketProcessed |
PacketEmitter | inet::PacketEmitter::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketEmitter | inet::PacketEmitter::handlePushPacketProcessed | handlePushPacketProcessed |
Called methods (observed)
function | info | call from |
---|---|---|
inet::StreamThroughTransmitter::pushPacketEnd | pushPacketEnd | EthernetCutthroughSink, PacketEmitter |
inet::StreamThroughTransmitter::pushPacketProgress | pushPacketProgress | PacketEmitter |
inet::StreamThroughTransmitter::pushPacketStart | pushPacketStart | EthernetCutthroughSink |
inet::StreamThroughTransmitter::receiveSignal | POST_MODEL_CHANGE | -=Network=- |
Outgoing messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Signal | 0 | DestreamingReceiver | ||
out | Signal | 0 | StreamThroughReceiver |
Pushed in messages (observed)
Packet operations (observed)
chunkType | packetAction |
---|---|
eraseAtBack, peekAll |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
clearTags | |
PacketProtocolTag | addTag, removeTagIfPresent |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
FlowTag | mapAllTags |
PacketEventTag | mapAllTagsForUpdate |
PropagationTimeTag | mapAllTagsForUpdate |
TransmissionTimeTag | mapAllTagsForUpdate |
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