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 |
---|---|---|
EthernetCutthroughSink | inet::EthernetCutthroughSink::pushPacket | pushPacket |
EthernetFcsChecker | inet::EthernetFcsChecker::pushPacket | pushPacket |
EthernetFragmentFcsChecker | inet::EthernetFragmentFcsChecker::pushPacket | pushPacket |
EthernetFragmentFcsInserter | inet::EthernetFragmentFcsInserter::pullPacketEnd | pullPacketEnd |
EthernetFragmentFcsInserter | inet::EthernetFragmentFcsInserter::pullPacketStart | pullPacketStart |
EthernetPhyHeaderChecker | inet::physicallayer::EthernetPhyHeaderChecker::pushPacket | pushPacket |
EthernetPhyHeaderInserter | inet::physicallayer::EthernetPhyHeaderInserter::handlePushPacketProcessed | handlePushPacketProcessed |
EthernetPhyHeaderInserter | inet::physicallayer::EthernetPhyHeaderInserter::pushPacket | pushPacket |
InterpacketGapInserter | inet::InterpacketGapInserter::handleCanPushPacketChanged | handleCanPushPacketChanged |
PacketStreamer | inet::PacketStreamer::pullPacketEnd | pullPacketEnd |
PacketStreamer | inet::PacketStreamer::pullPacketStart | pullPacketStart |
PacketTransmitter | inet::PacketTransmitter::pushPacket | pushPacket |
StreamThroughTransmitter | inet::StreamThroughTransmitter::pushPacketEnd | pushPacketEnd |
StreamThroughTransmitter | inet::StreamThroughTransmitter::pushPacketProgress | pushPacketProgress |
StreamingTransmitter | inet::StreamingTransmitter::pushPacket | pushPacket |
PacketClassifier | inet::queueing::PacketClassifier::pushPacket | pushPacket |
PacketMultiplexer | inet::queueing::PacketMultiplexer::handlePushPacketProcessed | handlePushPacketProcessed |
PriorityScheduler | inet::queueing::PriorityScheduler::handleCanPullPacketChanged | handleCanPullPacketChanged |
InstantServer | inet::queueing::InstantServer::handleCanPushPacketChanged | handleCanPushPacketChanged |
InstantServer | inet::queueing::InstantServer::handlePushPacketProcessed | handlePushPacketProcessed |
Called methods (observed)
function | info | call from |
---|---|---|
inet::PacketEmitter::handleCanPullPacketChanged | handleCanPullPacketChanged | EthernetFragmentFcsInserter, PacketStreamer |
inet::PacketEmitter::handleCanPushPacketChanged | handleCanPushPacketChanged | EthernetCutthroughSink, EthernetPhyHeaderInserter, PacketTransmitter, StreamThroughTransmitter, StreamingTransmitter |
inet::PacketEmitter::handlePushPacketProcessed | handlePushPacketProcessed | EthernetCutthroughSink, EthernetPhyHeaderInserter, PacketTransmitter, StreamThroughTransmitter, StreamingTransmitter |
inet::PacketEmitter::pullPacketEnd | pullPacketEnd | PriorityScheduler |
inet::PacketEmitter::pullPacketStart | pullPacketStart | PriorityScheduler |
inet::PacketEmitter::pushPacket | pushPacket | EthernetCutthroughSource, EthernetPhyHeaderChecker, InterpacketGapInserter, DestreamingReceiver, PacketReceiver, PacketClassifier, InstantServer |
inet::PacketEmitter::pushPacketEnd | pushPacketEnd | InterpacketGapInserter |
inet::PacketEmitter::pushPacketProgress | pushPacketProgress | InterpacketGapInserter |
Pull in messages (observed)
Pulled out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | PriorityScheduler | DirectionTag, DispatchProtocolInd, EncapsulationProtocolReq, InterfaceReq, MacAddressReq, MulticastReq, NetworkProtocolInd, TransportProtocolInd, VlanReq, FragmentTag?, PacketProtocolTag? |
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