Package: inet.queueing.flow
FlowMeasurementStarter
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 |
offset | int | 0b |
designates the packet part to be measured |
length | int | -1b |
designates the packet part to be measured |
flowName | string | "" |
use packet flow to separate measurement from other measurements |
measure | string | "*" |
match expression for a combination of: packetEvent, elapsedTime, delayingTime, queueingTime, processingTime, transmissionTime, propagationTime |
Properties
Name | Value | Description |
---|---|---|
display | i=block/timer | |
class | FlowMeasurementStarter |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Signals
Name | Type | Unit |
---|---|---|
packetFlowStarted | inet::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 |
---|---|---|
PacketQueue | inet::queueing::PacketQueue::pushPacket | pushPacket |
Called methods (observed)
function | info | call from |
---|---|---|
inet::queueing::FlowMeasurementStarter::handleCanPushPacketChanged | handleCanPushPacketChanged | PacketQueue |
inet::queueing::FlowMeasurementStarter::pushPacket | pushPacket | LayeredEthernetInterface, ActivePacketSource |
Outgoing messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | UdpSocketIo | DirectionTag, PacketProtocolTag |
Pushed in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
in | Packet | 0 | MessageDispatcher | DirectionTag, InterfaceReq, MacAddressReq, PacketProtocolTag | |
in | Packet | 0 | LayeredEthernetInterface | DirectionTag, InterfaceReq, MacAddressReq, PacketProtocolTag | |
in | Packet | 0 | ActivePacketSource | DirectionTag, PacketProtocolTag |
Push out messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
out | Packet | 0 | PacketQueue | DirectionTag, InterfaceReq, MacAddressReq, PacketProtocolTag |
Region Tagging operations (observed)
tagType | tagAction |
---|---|
ElapsedTimeTag | addTagsWhereAbsent, mapAllTagsForUpdate |
FlowTag | addTagsWhereAbsent, mapAllTags, mapAllTagsForUpdate |
QueueingTimeTag | addTagsWhereAbsent, mapAllTagsForUpdate |
Source code
simple FlowMeasurementStarter extends PacketFlowBase like IPacketFlow { parameters: object packetFilter = default("*"); // which packets are considered, matches all packets by default int offset @unit(b) = default(0b); // designates the packet part to be measured int length @unit(b) = default(-1b); // designates the packet part to be measured string flowName = default(""); // use packet flow to separate measurement from other measurements string measure = default("*"); // match expression for a combination of: packetEvent, elapsedTime, delayingTime, queueingTime, processingTime, transmissionTime, propagationTime @class(FlowMeasurementStarter); @display("i=block/timer"); @signal[packetFlowStarted](type=inet::Packet); }File: src/inet/queueing/flow/FlowMeasurementStarter.ned