PacketTransmitterBase¶
Package: inet.protocolelement.transceiver.base
simple module PacketTransmitterBase
(no description)
Inheritance diagram¶
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
simple module |
(no description) |
|
simple module |
Receives packets from the upper layer as a whole. It also sends signals to the transmission medium (wire) as a whole. |
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for various packet processing modules which maintains a few statistics. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“processed {numProcessedPackets} pk ({processedTotalLength})” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
clockModule |
string |
“” |
Relative path of a module that implements IClock(1,:ref:2 <neddoc-msg-inet-iclock>); optional |
datarate |
double |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
PacketTransmitterBase |
|
display |
i=block/wtx |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
||
out |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
transmissionEnded |
|||
transmissionStarted |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
flowTransmissionTime |
flow transmission time |
packetDuration(demuxFlow(transmissionEnded)) |
vector,histogram |
s |
none |
|
propagationTime |
propagation time |
s |
||||
throughput |
throughput |
throughput(transmissionEnded) |
vector,histogram |
bps |
linear |
|
transmissionTime |
transmission time |
packetDuration(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 |
Source code¶
simple PacketTransmitterBase extends PacketProcessorBase
{
parameters:
string clockModule = default(""); // Relative path of a module that implements IClock; optional
volatile double datarate @unit(bps);
@class(PacketTransmitterBase);
@display("i=block/wtx");
@signal[transmissionStarted](type=inet::physicallayer::Signal);
@signal[transmissionEnded](type=inet::physicallayer::Signal);
@statistic[transmitting](title="transmitting state"; type=enum; enum=IDLE, TRANSMITTING; source=count(transmissionStarted) - count(transmissionEnded); record=vector; interpolationmode=sample-hold);
@statistic[throughput](title="throughput"; unit=bps; source=throughput(transmissionEnded); record=vector,histogram; interpolationmode=linear);
@statistic[utilization](title="utilization"; unit=%; source=100 * utilization(count(transmissionStarted) - count(transmissionEnded)); record=vector,histogram; interpolationmode=linear);
@statistic[propagationTime](title="propagation time"; unit=s);
@statistic[transmissionTime](title="transmission time"; unit=s; source=packetDuration(transmissionEnded); record=vector,histogram; interpolationmode=none);
@statistic[flowTransmissionTime](title="flow transmission time"; unit=s; source=packetDuration(demuxFlow(transmissionEnded)); record=vector,histogram; interpolationmode=none);
gates:
input in;
output out;
}
File: src/inet/protocolelement/transceiver/base/PacketTransmitterBase.ned