CbrReceiver

Package: simu5g.apps.cbr

CbrReceiver

simple module

This module receives Constant Bit Rate (CBR) traffic sent by a CbrSender application module. It binds to a specified local port and records statistics such as packet delay, jitter, packet loss, throughput, and the total amount of bytes received.

Inheritance diagram

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

Parameters

Name Type Default value Description
localPort int 3000

Properties

Name Value Description
display i=block/source

Gates

Name Direction Size Description
socketOut output
socketIn input

Signals

Name Type Unit Description
cbrReceivedThroughput
cbrReceivedBytes
cbrFrameDelay simtime_t
cbrJitter simtime_t
cbrRcvdPkt
cbrFrameLoss double

Statistics

Name Title Source Record Unit Interpolation Mode Description
cbrReceivedThroughput Throughput received at the application level cbrReceivedThroughput timeavg, mean, sum Bps
cbrReceivedBytes Bytes received at the application level cbrReceivedBytes timeavg, mean, vector, sum Bps
cbrFrameDelay Cbr Frame Delay cbrFrameDelay mean, vector s
cbrJitter Cbr Playout Loss cbrJitter mean, vector s
cbrRcvdPkt Received packet ID cbrRcvdPkt vector
cbrFrameLoss Cbr Frame Loss cbrFrameLoss mean ratio

Source code

//
// This module receives Constant Bit Rate (CBR) traffic sent by a ~CbrSender
// application module. It binds to a specified local port and records
// statistics such as packet delay, jitter, packet loss, throughput, and the
// total amount of bytes received.
//
simple CbrReceiver like IApp
{
    parameters:
        int localPort = default(3000);

        @signal[cbrFrameDelay](type="simtime_t");
        @signal[cbrJitter](type="simtime_t");
        @signal[cbrFrameLoss](type="double");
        @signal[cbrReceivedThroughput];
        @signal[cbrReceivedBytes];
        @statistic[cbrFrameDelay](title="Cbr Frame Delay"; unit="s"; source="cbrFrameDelay"; record=mean,vector);
        @statistic[cbrJitter](title="Cbr Playout Loss"; unit="s"; source="cbrJitter"; record=mean,vector);
        @statistic[cbrFrameLoss](title="Cbr Frame Loss"; unit="ratio"; source="cbrFrameLoss"; record=mean);
        @statistic[cbrReceivedThroughput](title="Throughput received at the application level"; unit="Bps"; source="cbrReceivedThroughput"; record=timeavg,mean,sum);
        @statistic[cbrReceivedBytes](title="Bytes received at the application level"; unit="Bps"; source="cbrReceivedBytes"; record=timeavg,mean,vector,sum);



        @signal[cbrRcvdPkt];
        @statistic[cbrRcvdPkt](title="Received packet ID"; unit=""; source="cbrRcvdPkt"; record=vector);

        @display("i=block/source");
    gates:
        output socketOut;
        input socketIn;
}

File: src/apps/cbr/CbrReceiver.ned