Package: inet.protocolelement.common
PacketEmitter
simple module(no description)
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
| Name | Type | Description |
|---|---|---|
| PacketFlowBase | simple module |
This is a base module for various packet flow modules. A packet flow module passes or streams all pushed or pulled packets after processing them from its input to its output. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
| packetFilter | object | "*" |
which packets are considered, matches all packets by default |
| direction | string | "undefined" | |
| signalName | string |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/star | |
| class | PacketEmitter |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input | ||
| out | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetReceivedFromLower | Packet | |
| packetSentToLower | Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode |
|---|---|---|---|---|---|
| flowIncomingDataRate | flow specific incoming data rate | throughput(demuxFlow(merge(packetPushedIn, packetPulledIn))) | vector | bps | linear |
| outgoingDataRate | outgoing data rate | throughput(merge(packetPushedOut, packetPulledOut)) | vector | bps | linear |
| incomingDataRate | incoming data rate | throughput(merge(packetPushedIn, packetPulledIn)) | vector | bps | linear |
| outgoingPacketLengths | outgoing packet lengths | packetLength(merge(packetPushedOut, packetPulledOut)) | sum, histogram, vector | b | none |
| flowIncomingPacketLengths | flow specific incoming packet lengths | packetLength(demuxFlow(merge(packetPushedIn, packetPulledIn))) | sum, histogram, vector | b | none |
| flowOutgoingDataRate | flow specific outgoing data rate | throughput(demuxFlow(merge(packetPushedOut, packetPulledOut))) | vector | bps | linear |
| incomingPacketLengths | incoming packet lengths | packetLength(merge(packetPushedIn, packetPulledIn)) | sum, histogram, vector | b | none |
| flowOutgoingPacketLengths | flow specific outgoing packet lengths | packetLength(demuxFlow(merge(packetPushedOut, packetPulledOut))) | sum, histogram, vector | b | none |
| incomingPackets | incoming packets | merge(packetPushedIn, packetPulledIn) | count | pk | |
| outgoingPackets | outgoing packets | merge(packetPushedOut, packetPulledOut) | count | pk |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| EthernetFcsChecker | inet::EthernetFcsChecker::pushPacket | pushPacket |
| EthernetPhyHeaderChecker | inet::physicallayer::EthernetPhyHeaderChecker::pushPacket | pushPacket |
| EthernetPhyHeaderInserter | inet::physicallayer::EthernetPhyHeaderInserter::handlePushPacketProcessed | handlePushPacketProcessed |
| EthernetPhyHeaderInserter | inet::physicallayer::EthernetPhyHeaderInserter::pushPacket | pushPacket |
| InterpacketGapInserter | inet::InterpacketGapInserter::handleCanPushPacketChanged | handleCanPushPacketChanged |
| PacketTransmitter | inet::PacketTransmitter::pushPacket | pushPacket |
| InstantServer | inet::queueing::InstantServer::handleCanPushPacketChanged | handleCanPushPacketChanged |
| InstantServer | inet::queueing::InstantServer::handlePushPacketProcessed | handlePushPacketProcessed |
Called methods (observed)
| function | info | call from |
|---|---|---|
| inet::PacketEmitter::handleCanPushPacketChanged | handleCanPushPacketChanged | EthernetPhyHeaderInserter, PacketTransmitter |
| inet::PacketEmitter::handlePushPacketProcessed | handlePushPacketProcessed | EthernetPhyHeaderInserter, PacketTransmitter |
| inet::PacketEmitter::pushPacket | pushPacket | EthernetPhyHeaderChecker, InterpacketGapInserter, PacketReceiver, InstantServer |
Pushed in messages (observed)
Push out messages (observed)
Shared Tagging operations (observed)
| tagType | tagAction |
|---|---|
| DirectionTag | addTagIfAbsent |
Region Tagging operations (observed)
| tagType | tagAction |
|---|---|
| FlowTag | mapAllTags |
Source code
simple PacketEmitter extends PacketFlowBase like IPacketFlow { parameters: object packetFilter = default("*"); // which packets are considered, matches all packets by default string direction @enum("undefined","inbound","outbound") = default("undefined"); string signalName; @class(PacketEmitter); @display("i=block/star"); @signal[packetSentToLower](type=Packet); @signal[packetReceivedFromLower](type=Packet); }File: src/inet/protocolelement/common/PacketEmitter.ned