PacketReceiverBase

Package: inet.protocolelement.transceiver.base

simple module PacketReceiverBase

(no description)

inet.protocolelement.transceiver.base.PacketReceiverBasePacketReceiverBasesimple

Inheritance diagram

Known subclasses

Name

Type

Description

StreamingReceiverBase

simple module

(no description)

DestreamingReceiver

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

PacketProcessorBase

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

inet::physicallayer::Signal

receptionStarted

inet::physicallayer::Signal

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