PacketGate

Package: inet.queueing.gate

PacketGate

simple module

This 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)

msgkindctrltagsmsgnamecontext
ClockEvent0ChangeTimer

Direct method calls (observed)

call tofunctioninfo
PacketGateinet::queueing::PacketGate::handleCanPullPacketChangedhandleCanPullPacketChanged
PacketGateinet::queueing::PacketGate::handleCanPushPacketChangedhandleCanPushPacketChanged
ActivePacketSinkinet::queueing::ActivePacketSink::handleCanPullPacketChangedhandleCanPullPacketChanged
PassivePacketSinkinet::queueing::PassivePacketSink::pushPacketpushPacket
ActivePacketSourceinet::queueing::ActivePacketSource::handleCanPushPacketChangedhandleCanPushPacketChanged
PassivePacketSourceinet::queueing::PassivePacketSource::pullPacketpullPacket

Called methods (observed)

functioninfocall from
inet::queueing::PacketGate::handleCanPullPacketChangedhandleCanPullPacketChangedPacketGate, PassivePacketSource
inet::queueing::PacketGate::handleCanPushPacketChangedhandleCanPushPacketChangedPacketGate, PassivePacketSink
inet::queueing::PacketGate::pullPacketpullPacketActivePacketSink
inet::queueing::PacketGate::pushPacketpushPacketActivePacketSource

Pull in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0PassivePacketSourceDirectionTag, PacketProtocolTag

Pulled out messages (observed)

gatemsgkindctrldestModuletags
outPacket0ActivePacketSinkDirectionTag, PacketProtocolTag

Pushed in messages (observed)

gatemsgkindctrlsrcModuletags
inPacket0ActivePacketSourceDirectionTag, PacketProtocolTag

Push out messages (observed)

gatemsgkindctrldestModuletags
outPacket0PassivePacketSinkDirectionTag, PacketProtocolTag

Region Tagging operations (observed)

tagTypetagAction
FlowTagmapAllTags

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