Simple Module Delayer

Package: inet.common.queue
File: src/inet/common/queue/Delayer.ned

C++ definition

Delayer module.

Delayer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Parameters:

Name Type Default value Description
delay double 0s

delay [seconds] e.g. uniform(20ms,40ms)

Properties:

Name Value Description
display i=status/lightning

Gates:

Name Direction Size Description
in input
out output

Signals:

Name Type Unit
sentPk cMessage
delay simtime_t
rcvdPk cMessage

Statistics:

Name Title Source Record Unit Interpolation Mode
sentPk packets sent sentPk count, sum(packetBytes), vector(packetBytes) none
delay packet delay delay vector, stats none
rcvdPk packets received rcvdPk count, sum(packetBytes), vector(packetBytes) none

Source code:

//
// Delayer module.
//
simple Delayer like IHook
{
    parameters:
        volatile double delay @unit(s) = default(0s);    // delay [seconds] e.g. uniform(20ms,40ms)
        @display("i=status/lightning");
        @signal[rcvdPk](type=cMessage);
        @signal[sentPk](type=cMessage);
        @signal[delay](type=simtime_t);     // delay in seconds, emitted at packet receiving
        @statistic[rcvdPk](title="packets received"; source=rcvdPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
        @statistic[sentPk](title="packets sent"; source=sentPk; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
        @statistic[delay](title="packet delay"; source=delay; record=vector,stats; interpolationmode=none);
    gates:
        input in;
        output out;
}