PacketReceiverBase

Package: inet.protocolelement.transceiver.base

PacketReceiverBase

simple module

(no description)

Inheritance diagram

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

Known subclasses

Name Type Description
DestreamingReceiver simple module

This 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.

StreamingReceiverBase simple module (no description)

Extends

Name Type Description
PacketProcessorBase simple module

This is a base module for various packet processing modules which maintains a few statistics.

Parameters

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

determines the text that is written on top of the submodule

datarate double

Properties

Name Value Description
display i=block/wrx

Gates

Name Direction Size Description
in input
out output

Signals

Name Type Unit
receptionEnded inet::physicallayer::Signal
receptionStarted inet::physicallayer::Signal

Statistics

Name Title Source Record Unit Interpolation Mode
propagationTime propagation time s
throughput throughput throughput(receptionEnded) vector, histogram bps linear
receptionTime reception time packetDuration(receptionEnded) vector, histogram s none
flowReceptionTime flow reception time packetDuration(demuxFlow(receptionEnded)) vector, histogram s none

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