Package: inet.queueing.common
PacketDemultiplexer
simple moduleThis module connects multiple packet collectors to one packet provider. When a packet is pulled by one of the connected packet collectors, then the demultiplexer simply pulls a packet from the connected packet provider.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
PacketProcessorBase | simple module |
This is a base module for various packet processing modules which maintains a few statistics. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
displayStringTextFormat | string | "passed %p pk (%l)" |
determines the text that is written on top of the submodule |
Properties
Name | Value | Description |
---|---|---|
display | i=block/fork | |
class | PacketDemultiplexer |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out [ ] | output |
Direct method calls (observed)
call to | function | info |
---|---|---|
ActivePacketSink | inet::queueing::ActivePacketSink::handleCanPullPacketChanged | handleCanPullPacketChanged |
PassivePacketSource | inet::queueing::PassivePacketSource::pullPacket | pullPacket |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::PacketDemultiplexer::handleCanPullPacketChanged | handleCanPullPacketChanged | PassivePacketSource |
inet::queueing::PacketDemultiplexer::pullPacket | pullPacket | ActivePacketSink |
Pull in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | PassivePacketSource | DirectionTag, PacketProtocolTag |
Pulled out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out[] | Packet | 0 | ActivePacketSink | DirectionTag, PacketProtocolTag |
Source code
// // This module connects multiple packet collectors to one packet provider. When // a packet is pulled by one of the connected packet collectors, then the demultiplexer // simply pulls a packet from the connected packet provider. // simple PacketDemultiplexer extends PacketProcessorBase like IActivePacketSink // TODO , IPassivePacketSource // out gate is vector { parameters: displayStringTextFormat = default("passed %p pk (%l)"); @class(PacketDemultiplexer); @display("i=block/fork"); gates: input in @labels(pull); output out[] @labels(pull); }File: src/inet/queueing/common/PacketDemultiplexer.ned