Package: inet.queueing.contract
IPacketGate
module interfaceThis module interface is implemented by packet gate. A packet gate connects one input to one output. It can operate in both active and passive mode. Packets can be pushed into its input or packets can be pulled from its output.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
CreditBasedGate | simple module |
This module is a packet gate that operates based on the number of credits it contains. The gate is open if the number of credits is greater than the configured transmit credit limit, it is closed otherwise. The module attaches a CreditGateTag to all packets that pass through. The attached tag allows the gate module to determine if a packet belongs to it when the packet is eventually transmitted. |
EligibilityTimeGate | simple module |
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. |
Ieee8021qAsynchronousShaper | compound module |
This module implements the IEEE 802.1Q asynchronous shaper. |
Ieee8021qCreditBasedGate | simple module |
This module is a packet gate that can be used to implement the IEEE 802.1q credit based shaper algorithm in combination with a packet queue. |
Ieee8021qCreditBasedShaper | compound module |
This module implements the IEEE 802.1Q credit-based shaper. |
InteractiveGate | simple module |
This packet gate module allows or forbids packets to pass through depending on whether the gate is open or closed as specified by the parameter. The gate can also be controlled by the user by manually changing the open parameter from the graphical user interface while the simulation is paused. |
OmittedPacketGate | compound module |
This module implements the module given interface and can be used as an omitted optional module that removes itself from the module hierarchy during initialize. |
PacketGate | simple module |
This module allows or forbids packets to pass through depending on whether the gate is open or closed. |
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. |
Used in compound modules
Name | Type | Description |
---|---|---|
DualIeee8021qFilter | compound module |
This module combines two meters and their corresponding filters per path. This is primarily useful for combining a token bucket based metering with an asynchronous packet shaper. Note that the asynchronous packet shaper also has parts in the network interface queue module. |
GatingPriorityQueue | compound module |
This module implements a priority queue with multiple inner queues each having its own periodic gate for packet selection and an optional shared memory buffer. |
Ieee8021qFilter | compound module |
This module implements the IEEE 802.1Q per-stream filtering and policing. The relationship between streams, gates and meters is not one-to-one. The number of streams, gates and meters can be different and the module will take care about the connections between the submodules based on the streamFilterTable parameter. |
Ieee8021qTimeAwareShaper | compound module |
This module implements the IEEE 802.1Q time aware shaper. |
PacketShaper | compound module |
This module combines a packet queue and a packet gate into a packet shaper module. The queue stores the packets sorted according to its ordering and the gate decides when the first packet can be pulled from the queue. |
SimpleIeee8021qFilter | compound module |
This module implements a simplified version of the IEEE 802.1Q per-stream filtering and policing. Each filtered stream has its own path where metering and filtering happens independently of any other stream. |
Extends
Name | Type | Description |
---|---|---|
IPacketSink | module interface |
This module interface is implemented by packet sink modules which are both passive and active simultaneously. |
IPacketSource | module interface |
This module interface is implemented by packet source modules which are both active and passive simultaneously. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/star | |
omittedTypename | OmittedPacketGate |
Source code
// // This module interface is implemented by packet gate. A packet gate connects // one input to one output. It can operate in both active and passive mode. // Packets can be pushed into its input or packets can be pulled from its // output. // moduleinterface IPacketGate extends IPacketSink, IPacketSource { parameters: @omittedTypename(OmittedPacketGate); @display("i=block/star"); }File: src/inet/queueing/contract/IPacketGate.ned