Package: inet.queueing.common
PacketHistory
compound moduleThis 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.
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
size | int | 100 |
the number of packets to remember |
Properties
Name | Value | Description |
---|---|---|
display | i=block/passiveq |
Gates
Name | Direction | Size | Description |
---|---|---|---|
in | input | ||
out | output |
Unassigned submodule parameters
Name | Type | Default value | Description |
---|---|---|---|
cloner.displayStringTextFormat | string | "processed %p pk (%l)" |
determines the text that is written on top of the submodule |
Source code
// // 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. // module PacketHistory like IPassivePacketSink, IActivePacketSource { parameters: int size = default(100); // the number of packets to remember @display("i=block/passiveq"); gates: input in @labels(push); output out @labels(push); submodules: cloner: PacketCloner { parameters: @display("p=100,100"); } queue: <default("DropHeadQueue")> like IPacketQueue { parameters: packetCapacity = default(size); @display("p=100,200"); } connections: in --> { @display("m=w"); } --> cloner.in; cloner.out++ --> { @display("m=e"); } --> out; cloner.out++ --> queue.in; }File: src/inet/queueing/common/PacketHistory.ned