PacketReceiverBase¶
Package: inet.protocolelement.transceiver.base
simple module PacketReceiverBase
(no description)
Inheritance diagram¶
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
simple module |
(no description) |
|
simple module |
Receives signals from the transmission medium (wire) as a stream. It receives the signal start and signal end separately. It sends packets to the upper layer 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 |
datarate |
double |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
PacketProcessorBase |
|
display |
i=block/wrx |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
||
out |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
receptionEnded |
|||
receptionStarted |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
flowReceptionTime |
flow reception time |
packetDuration(demuxFlow(receptionEnded)) |
vector,histogram |
s |
none |
|
propagationTime |
propagation time |
s |
TODO @statistic[utilization](title=”utilization”; unit=%; source=100 * utilization(count(receptionStarted) - count(receptionEnded)); record=vector,histogram; interpolationmode=linear); |
|||
receptionTime |
reception time |
packetDuration(receptionEnded) |
vector,histogram |
s |
none |
|
throughput |
throughput |
throughput(receptionEnded) |
vector,histogram |
bps |
linear |
TODO @statistic[receiving](title=”transmitting”; type=int; source=count(receptionStarted) - count(receptionEnded); record=vector; interpolationmode=sample-hold); |
Source code¶
simple PacketReceiverBase extends PacketProcessorBase
{
parameters:
double datarate @unit(bps);
@display("i=block/wrx");
@signal[receptionStarted](type=inet::physicallayer::Signal);
@signal[receptionEnded](type=inet::physicallayer::Signal);
// TODO @statistic[receiving](title="transmitting"; type=int; source=count(receptionStarted) - count(receptionEnded); record=vector; interpolationmode=sample-hold);
@statistic[throughput](title="throughput"; unit=bps; source=throughput(receptionEnded); record=vector,histogram; interpolationmode=linear);
// TODO @statistic[utilization](title="utilization"; unit=%; source=100 * utilization(count(receptionStarted) - count(receptionEnded)); record=vector,histogram; interpolationmode=linear);
@statistic[propagationTime](title="propagation time"; unit=s);
@statistic[receptionTime](title="reception time"; unit=s; source=packetDuration(receptionEnded); record=vector,histogram; interpolationmode=none);
@statistic[flowReceptionTime](title="flow reception time"; unit=s; source=packetDuration(demuxFlow(receptionEnded)); record=vector,histogram; interpolationmode=none);
gates:
input in;
output out;
}
File: src/inet/protocolelement/transceiver/base/PacketReceiverBase.ned