Package: inet.protocolelement.shaper
EligibilityTimeGate
simple moduleThis module is a packet gate that operates based on the EligibilityTimeTag attached to the next packet waiting to be pulled through. The gate is closed if the eligibility time is greater than the current simulation time, it is open otherwise.
This module is part of the asynchronous shaper architecture.
See also: EligibilityTimeQueue, EligibilityTimeFilter, EligibilityTimeMeter, EligibilityTimeTag
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
Name | Type | Description |
---|---|---|
Ieee8021qAsynchronousShaper | compound module |
This module implements the IEEE 802.1Q asynchronous shaper. |
Extends
Name | Type | Description |
---|---|---|
PacketGateBase | simple module |
This is a base module for various packet gate modules. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "passed %p pk (%l)" |
determines the text that is written on top of the submodule |
bitrate | double | nan bps | |
extraLength | int | 0b | |
extraDuration | double | 0s | |
clockModule | string | "" |
relative path of a module that implements IClock; optional |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel | |
class | EligibilityTimeGate |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Signals
Name | Type | Unit |
---|---|---|
remainingEligibilityTimeChanged | simtime_t |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
remainingEligibilityTime | remaining eligibility time | remainingEligibilityTimeChanged | vector | s | linear |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
ClockEvent | 0 | EligibilityTimer |
Direct method calls (observed)
call to | function | info |
---|---|---|
EligibilityTimeGate | inet::EligibilityTimeGate::handleCanPullPacketChanged | handleCanPullPacketChanged |
EligibilityTimeGate | inet::EligibilityTimeGate::pullPacket | pullPacket |
EligibilityTimeQueue | inet::queueing::PacketQueue::pullPacket | pullPacket |
PacketServer | inet::queueing::PacketServer::handleCanPullPacketChanged | handleCanPullPacketChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::EligibilityTimeGate::handleCanPullPacketChanged | handleCanPullPacketChanged | EligibilityTimeGate, EligibilityTimeQueue |
inet::EligibilityTimeGate::pullPacket | pullPacket | EligibilityTimeGate, PacketServer |
Pull in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | EligibilityTimeQueue | DirectionTag, EligibilityTimeTag, PacketProtocolTag |
Pulled out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | PacketServer | DirectionTag, EligibilityTimeTag, PacketProtocolTag |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
EligibilityTimeTag | getTag |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
FlowTag | mapAllTags |
Source code
// // This module is a packet gate that operates based on the ~EligibilityTimeTag // attached to the next packet waiting to be pulled through. The gate is closed // if the eligibility time is greater than the current simulation time, it is // open otherwise. // // This module is part of the asynchronous shaper architecture. // // @see ~EligibilityTimeQueue, ~EligibilityTimeFilter, ~EligibilityTimeMeter, ~EligibilityTimeTag // simple EligibilityTimeGate extends PacketGateBase like IPacketGate { parameters: string clockModule = default(""); // relative path of a module that implements IClock; optional @signal[remainingEligibilityTimeChanged](type=simtime_t); @statistic[remainingEligibilityTime](title="remaining eligibility time"; source=remainingEligibilityTimeChanged; record=vector; unit=s; interpolationmode=linear); @class(EligibilityTimeGate); }File: src/inet/protocolelement/shaper/EligibilityTimeGate.ned