PeriodicGate

Package: inet.queueing.gate

PeriodicGate

simple module

This module allows or forbids packets to pass through depending on whether the gate is open or closed. The gate is open and closed according to the list of change times periodically.

PeriodicGate

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 true

specifies if the gate is initially open or closed

offset double 0s

specifies where the period starts in the list of gate state change durations; where it is in the period at the start

durations object []

list of time durations within the period that determine if the gate is open or closed; period is the sum of the durations

scheduleForAbsoluteTime bool true

when a clock is used relative means that setting the clock will not affect the simulation time of the event

Properties

Name Value Description
display i=block/cogwheel
class PeriodicGate

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

Source code

//
// This module allows or forbids packets to pass through depending on whether
// the gate is open or closed. The gate is open and closed according to the list
// of change times periodically.
//
simple PeriodicGate extends PacketGateBase like IPacketGate
{
    parameters:
        string clockModule = default(""); // relative path of a module that implements IClock; optional
        bool initiallyOpen @mutable = default(true); // specifies if the gate is initially open or closed
        double offset @mutable @unit(s) = default(0s); // specifies where the period starts in the list of gate state change durations; where it is in the period at the start
        object durations @mutable @unit(s) = default([]); // list of time durations within the period that determine if the gate is open or closed; period is the sum of the durations
        bool scheduleForAbsoluteTime = default(true); // when a clock is used relative means that setting the clock will not affect the simulation time of the event
        @class(PeriodicGate);
}
File: src/inet/queueing/gate/PeriodicGate.ned