Package: inet.queueing.contract
IPacketSource
module interfaceThis module interface is implemented by packet source modules which are both active and passive simultaneously.
See also: IPassivePacketSource, IActivePacketSource
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
ContentBasedFilter | simple module |
This module filters for packets matching the configured filter criteria. When the filter is pushed by a connected packet producer, it either pushes the packet to the connected packet consumer or drops it depending on the configured packet filter. Similarily, when the filter is popped by a connected packet collector, it pops packets from the connected packet provider until it finds one which matches the configured packet filter. |
ContentBasedLabeler | simple module |
This module attaches various request labels to packets. |
ContentBasedTagger | simple module |
This module attaches various request tags to packets. |
PacketFilter | simple module |
This module filters for packets matching the configured filter criteria. When the filter is pushed by a connected packet producer, it either pushes the packet to the connected packet consumer or drops it depending on the configured packet filter. Similarily, when the filter is popped by a connected packet collector, it pops packets from the connected packet provider until it finds one which matches the configured packet filter. |
PacketGate | simple module |
This module allows or forbids packets to pass through depending on whether the gate is open or closed. |
PacketLabeler | simple module |
This module attaches a LabelsTag to packets based on the configured filters. For each matching filter a new label is attached. |
PacketTagger | simple module |
This module attaches various request tags to packets. |
RateLimiter | simple module |
This module limit the datarate or the packetrate of a stream of packets based on the RateTag attached to the packets. |
RateMeter | simple module |
This module attaches a RateTag to each packet specifying the datarate and packetrate of the received stream of packets. The algorithm takes older packets into account with an exponentially decreasing weight. |
Known subclasses
Name | Type | Description |
---|---|---|
IPacketFilter | module interface |
This module interface is implemented by packet filter modules. A packet filter 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 popped from its output. Processed packets are either dropped, if they don't match the filter criteria, or they are passed through without any delay or reordering. |
IPacketMarker | module interface |
This module interface is implemented by packet marker modules. A packet marker 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 popped from its output. When processing a packet, a marker attaches some information (such as a label) to the packet based on the data and meta data it contains. The packets are processed individually. |
IPacketMeter | module interface |
This module interface is implemented by packet meter modules. A packet meter 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 popped from its output. When processing packets, a meter attaches some information (such as the packet rate) to the packets based on the data and meta data they contain. The packets are processed as part of a stream. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/source |
Source code
// // This module interface is implemented by packet source modules which are both // active and passive simultaneously. // // @see ~IPassivePacketSource, ~IActivePacketSource // moduleinterface IPacketSource { parameters: @display("i=block/source"); gates: output out @labels(push,pop); }File: src/inet/queueing/contract/IPacketSource.ned