Simple Module Delayer
Package: inet.common.queue
File: src/inet/common/queue/Delayer.ned
C++ definition
Delayer module.
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;
}