Package: inet.queueing.contract
IActivePacketSource
module interfaceThis module interface must be implemented by active packet source modules. An active packet source, also called a producer, has one output that must be connected to a passive packet sink module. The active packet source is expected to push packets into the connected passive packet sink over time.
See also: PassivePacketSink, PacketServer, PacketClassifier, IPassivePacketSink
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
ActivePacketSource | simple module |
This module is an active packet source which pushes packets into the connected packet consumer. |
BurstyPacketProducer | compound module |
This module mixes two different packet sources to generate bursty traffic. |
EmptyPacketSource | simple module |
This module is an empty packet source which never pushes packets into the connected packet consumer. |
PacketDelayer | simple module |
This module connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, the packet is delayed and eventually pushed to the output. Note that the order of packets may change if the delay parameter is configured to be a distribution. |
PacketDuplicator | simple module |
This module connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. When this happens, one or more copy of the packet is pushed to the output gate. |
PacketHistory | compound module |
This module connects one packet producer to one packet consumer. It can be pushed with packets from the connected packet producer. It keeps a copy of the last N packets pushed into its input. The packets are available in the runtime user interface (Qtenv) for inspection. |
PacketMultiplexer | simple module |
This module connects multiple packet producers to one packet consumer. When a packet is pushed by one of the connected packet producers, then the multiplexer simply pushes the packet to the connected packet consumer. |
PacketServer | simple module |
This module repeatedly pops packets from the connected packet provider and after a processing delay it pushes the packet into the connected packet consumer. The processing delay is processingTime + packetLength / processingBitrate. |
PcapFilePacketProducer | simple module |
This module is an active packet source which pushes packets into the connected packet consumer. All pushed packets are read from a PCAP file. |
QueueFiller | compound module |
This module produces packets in order to prevent a queue from becoming empty. |
ResponseProducer | compound module |
This module is capable of generating several different streams of packets, one after the other. For each traffic category, the packets are produced by a separate token based server. The traffic stream can be started by adding tokens the corresponding server module. The packet data, packet length, and timing distributions can be configured in the corresponding packet provider. |
TokenBasedServer | simple module |
This module repeatedly pops packets from the connected packet provider and it pushes them into the connected packet consumer. The packets are processed in zero simulation time, and the process continues until the available number of tokens is not sufficient anymore. |
Used in compound modules
Name | Type | Description |
---|---|---|
TcpClientApp | compound module |
This module is a generic TCP client application. The traffic source and traffic sink modules can be built from queueing model elements. |
TcpServerConnection | compound module |
This module is a generic TCP server connection. The traffic source and traffic sink modules can be built from queueing model elements. |
TelnetClientApp | compound module |
This client application contains a configurable pre-composed telnet traffic source and traffic sink. |
UdpApp | compound module |
This module generates traffic for a UDP application. The traffic source and traffic sink modules can be built from queueing model elements. |
Known subclasses
Name | Type | Description |
---|---|---|
IPacketServer | module interface |
This module interface is implemented by packet server modules. A packet server is an active module which has one active input and one active output. Packets are popped from the connected input module and pushed into the connected output module with an optional delay but without reordering. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/source |
Source code
// // This module interface must be implemented by active packet source modules. // An active packet source, also called a producer, has one output that must // be connected to a passive packet sink module. The active packet source is // expected to push packets into the connected passive packet sink over time. // // @see ~PassivePacketSink, ~PacketServer, ~PacketClassifier, ~IPassivePacketSink // moduleinterface IActivePacketSource { parameters: @display("i=block/source"); gates: output out @labels(push); }File: src/inet/queueing/contract/IActivePacketSource.ned