Package: inet.queueing.gate
PacketGate
simple moduleThis module allows or forbids packets to pass through depending on whether the gate is open or closed.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
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 |
initiallyOpen | bool | false | |
openTime | double | ||
closeTime | double |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel | |
class | PacketGate |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Signals
Name | Type | Unit |
---|---|---|
gateStateChanged | bool |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
gateState | gate state | gateStateChanged | vector | sample-hold |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
ClockEvent | 0 | ChangeTimer |
Direct method calls (observed)
call to | function | info |
---|---|---|
PacketGate | inet::queueing::PacketGate::handleCanPullPacketChanged | handleCanPullPacketChanged |
PacketGate | inet::queueing::PacketGate::handleCanPushPacketChanged | handleCanPushPacketChanged |
ActivePacketSink | inet::queueing::ActivePacketSink::handleCanPullPacketChanged | handleCanPullPacketChanged |
PassivePacketSink | inet::queueing::PassivePacketSink::pushPacket | pushPacket |
ActivePacketSource | inet::queueing::ActivePacketSource::handleCanPushPacketChanged | handleCanPushPacketChanged |
PassivePacketSource | inet::queueing::PassivePacketSource::pullPacket | pullPacket |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::PacketGate::handleCanPullPacketChanged | handleCanPullPacketChanged | PacketGate, PassivePacketSource |
inet::queueing::PacketGate::handleCanPushPacketChanged | handleCanPushPacketChanged | PacketGate, PassivePacketSink |
inet::queueing::PacketGate::pullPacket | pullPacket | ActivePacketSink |
inet::queueing::PacketGate::pushPacket | pushPacket | ActivePacketSource |
Pull in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | PassivePacketSource | DirectionTag, PacketProtocolTag |
Pulled out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | ActivePacketSink | DirectionTag, PacketProtocolTag |
Pushed in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
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 |
---|---|
FlowTag | mapAllTags |
Source code
// // This module allows or forbids packets to pass through depending on whether // the gate is open or closed. // simple PacketGate extends PacketGateBase like IPacketGate { parameters: string clockModule = default(""); // relative path of a module that implements IClock; optional bool initiallyOpen = default(false); double openTime @unit(s); double closeTime @unit(s); @class(PacketGate); }File: src/inet/queueing/gate/PacketGate.ned