Package: inet.queueing.contract
IPassivePacketSink
module interfaceThis module interface must be implemented by passive packet sink modules. A passive packet sink, also called a consumer, has one input that must be connected to an active packet source module. The connected active packet source is expected to push packets into the passive packet sink over time.
See also: PassivePacketSink, PacketQueue, PacketClassifier, IActivePacketSource
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
CompoundPacketQueue | compound module |
This compound module serves as a base module for complex packet queues formed by combining several queueing components. |
CompoundPendingQueue | compound module | (no description) |
ContentBasedClassifier | simple module |
This module connects one packet producer to multiple packet consumers. It can be pushed with packets from the connected packet producer. When this happens, the classifier pushes the packet to one of its connected packet consumers based on the configured packet filters. The first matching expression determines the index of the output gate. |
DiffservQueue | compound module |
This is an example queue, that can be used in interfaces of DS core and edge nodes to support the AFxy (RFC 2597) and EF (RFC 3246) PHBs. |
DropHeadQueue | simple module |
This is a limited packet queue which drops packets at the head of the queue. |
DropTailQueue | simple module |
This module is a limited packet queue which drops packets at the tail of the queue. |
EtherFrameClassifier | simple module |
Classifier that forwards Ethernet PAUSE frames to the pauseOut gate, and other frames to the defaultOut gate. |
EtherQosQueue | compound module |
Queue module that gives the PAUSE frames a higher priority, and can be parametrized with an IPacketQueue for serving the data frames. |
EtherQosRedQueue | compound module |
Queue module that gives the PAUSE frames a higher priority, and using Random Early Detection algorithm on data frames, and can be parametrized with an IPacketQueue for serving the data frames. |
EtherQueue | compound module |
Queue module that gives the PAUSE frames a higher priority. |
LabelClassifier | simple module |
This module classifies packets based on the attached labels in a LabelsTag. |
MarkovClassifier | simple module |
This module implements a packet classifier using a Markov process that has as many states as output gates the classifier has. The output gate for a given packet is determined by the current state of the Markov process. |
PacketBasedTokenGenerator | simple module |
This module generates tokens into the configured TokenBasedServer for each consumed packet. |
PacketClassifier | simple module |
This module connects one packet producer to multiple packet consumers. It can be pushed with packets from the connected packet producer. When this happens, the classifier pushes the packet to one of its connected packet consumers based on the configured packet classifier function. The packet classifier function takes a packet and returns an integer which in turn is used for determining the output gate. |
PacketCloner | 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, a separate copy of the packet is pushed to each output gate. |
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. |
PacketQueue | simple module |
This module implements a widely configurable packet queue, which is suitable among others, to be used in MAC protocols, traffic conditioning, and quality of services. This module can be used on its own, but it's also often supplemented by additional queueing components such as servers, classifiers, schedulers, multiplexers, etc. This kind of composition allows to form a larger module which can act as a packet queue with more complex behavior. |
PassivePacketSink | simple module |
This module is a passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are counted and deleted. |
PcapFilePacketConsumer | simple module |
This module is a passive packet sink which is pushed with packets by the connected packet producer. All pushed packets are written to a PCAP file. |
PendingQueue | simple module | (no description) |
PriorityClassifier | simple module |
This classifier pushes packets into the first non-full among its connected packet consumers. |
PriorityQueue | compound module |
This module implements a priority queue with multiple inner queues and an optional shared memory buffer. |
RedDropperQueue | compound module |
Combines a packet queue with random early detection (RED) dropper. |
RequestConsumer | compound module |
This module processes incoming packets one by one in the order they arrive. First it classifies a packet according to the configured classifier function, then it generates tokens for the selected category in the configured response producer. |
UserPriorityClassifier | simple module |
This module classifies packets based on the attached UserPriority tag. |
WrrClassifier | simple module |
This module implements weighted round-robin classifier. |
Used in compound modules
Name | Type | Description |
---|---|---|
RequestConsumer | compound module |
This module processes incoming packets one by one in the order they arrive. First it classifies a packet according to the configured classifier function, then it generates tokens for the selected category in the configured response producer. |
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. |
TelnetServerConnection | compound module |
This module contains a configurable pre-composed telnet traffic source and traffic sink as part of a telnet server application. |
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 |
---|---|---|
IPacketClassifier | module interface |
This module interface is implemented by packet classifier modules. A packet classifier is a passive module which has one passive input and multiple active outputs. Packets pushed into the passive input are passed through to one of the active outputs without any delay and reordering. |
IPacketQueue | module interface |
This module interface is implemented by packet queue modules. A packet queue is a passive module which has one passive input and one passive output. Packets pushed into the passive input are either stored or dropped. Packets popped from the passive output are provided from the stored packets. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/sink |
Source code
// // This module interface must be implemented by passive packet sink modules. // A passive packet sink, also called a consumer, has one input that must be // connected to an active packet source module. The connected active packet // source is expected to push packets into the passive packet sink over time. // // @see ~PassivePacketSink, ~PacketQueue, ~PacketClassifier, ~IActivePacketSource // moduleinterface IPassivePacketSink { parameters: @display("i=block/sink"); gates: input in @labels(push); }File: src/inet/queueing/contract/IPassivePacketSink.ned