Package: inet.queueing.common
PacketDelayer
simple moduleThis module connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, the packet is delayed and eventually pushed to the output. Note that the order of packets may change if the delay parameter is configured to be a distribution.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketDelayerBase | simple module | (no description) |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
clockModule | string | "" |
relative path of a module that implements IClock; optional |
schedulingPriority | int | 0 | |
scheduleZeroDelay | bool | true | |
delay | double |
specifies delay per packet |
|
bitrate | double | inf bps |
determines additional delay per bit |
Properties
Name | Value | Description |
---|---|---|
display | i=block/delay | |
class | PacketDelayer |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
Packet | 0 | DirectionTag, PacketProtocolTag | producer-N | ||
Packet | 0 | DirectionTag, PacketProtocolTag | sourceApplication-N |
Direct method calls (observed)
call to | function | info |
---|---|---|
PacketServer | inet::queueing::PacketServer::handleCanPushPacketChanged | handleCanPushPacketChanged |
PassivePacketSink | inet::queueing::PassivePacketSink::pushPacket | pushPacket |
ActivePacketSource | inet::queueing::ActivePacketSource::handleCanPushPacketChanged | handleCanPushPacketChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::PacketDelayer::handleCanPushPacketChanged | handleCanPushPacketChanged | PassivePacketSink |
inet::queueing::PacketDelayer::pushPacket | pushPacket | PacketServer, ActivePacketSource |
Pushed in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | PacketServer | DirectionTag, PacketProtocolTag | |
in | Packet | 0 | ActivePacketSource | DirectionTag, PacketProtocolTag |
Push out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | PassivePacketSink | DirectionTag, PacketProtocolTag |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
DelayingTimeTag | mapAllTagsForUpdate |
PacketEventTag | mapAllTagsForUpdate |
Source code
// // This module connects one packet producer to one packet consumer. It can be // pushed with packets from the connected packet producer. When this happens, // the packet is delayed and eventually pushed to the output. Note that the // order of packets may change if the delay parameter is configured to be a // distribution. // simple PacketDelayer extends PacketDelayerBase like IPacketDelayer { parameters: volatile double delay @unit(s); // specifies delay per packet volatile double bitrate @unit(bps) = default(inf bps); // determines additional delay per bit @class(PacketDelayer); }File: src/inet/queueing/common/PacketDelayer.ned