Package: inet.queueing.common
PacketCloner
simple moduleThis 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.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Used in compound modules
Name | Type | Description |
---|---|---|
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. |
TelnetServerConnection | compound module |
This module contains a configurable pre-composed telnet traffic source and traffic sink as part of a telnet server application. |
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 | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
Properties
Name | Value | Description |
---|---|---|
display | i=block/star | |
class | PacketCloner |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out [ ] | output |
Direct method calls (observed)
call to | function | info |
---|---|---|
PacketClassifier | inet::queueing::PacketClassifier::pushPacket | pushPacket |
PacketMultiplexer | inet::queueing::PacketMultiplexer::pushPacket | pushPacket |
MarkovScheduler | inet::queueing::MarkovScheduler::handleCanPushPacketChanged | handleCanPushPacketChanged |
PassivePacketSink | inet::queueing::PassivePacketSink::pushPacket | pushPacket |
ActivePacketSource | inet::queueing::ActivePacketSource::handleCanPushPacketChanged | handleCanPushPacketChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::PacketCloner::handleCanPushPacketChanged | handleCanPushPacketChanged | PacketClassifier, PacketMultiplexer, PassivePacketSink |
inet::queueing::PacketCloner::pushPacket | pushPacket | MarkovScheduler, ActivePacketSource |
Pushed in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | MarkovScheduler | DirectionTag, PacketProtocolTag | |
in | Packet | 0 | ActivePacketSource | DirectionTag, PacketProtocolTag |
Push out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out[] | Packet | 0 | PacketClassifier | DirectionTag, PacketProtocolTag | |
out[] | Packet | 0 | PacketMultiplexer | DirectionTag, PacketProtocolTag | |
out[] | Packet | 0 | PassivePacketSink | DirectionTag, PacketProtocolTag |
Source code
// // 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. // simple PacketCloner extends PacketProcessorBase like IPassivePacketSink // IActivePacketSource // TODO out gate is vector { parameters: @class(PacketCloner); @display("i=block/star"); gates: input in @labels(push); output out[] @labels(push); }File: src/inet/queueing/common/PacketCloner.ned