Package: inet.tutorials.queueing
RedDropperTutorialStep
network(no description)
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Properties
| Name | Value | Description |
|---|---|---|
| isNetwork |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| producer.displayStringTextFormat | string | "created %p pk (%l)" |
determines the text that is written on top of the submodule |
| producer.packetNameFormat | string | "%a-%c" |
see directives in module documentation |
| producer.packetRepresentation | string | "byteCount" |
determines the chunk of the packet data |
| producer.packetLength | int | ||
| producer.packetData | int | -1 | |
| producer.attachCreationTimeTag | bool | true | |
| producer.attachIdentityTag | bool | true | |
| producer.attachDirectionTag | bool | true | |
| producer.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| producer.initialProductionOffset | double | 0s | |
| producer.productionInterval | double |
elapsed time between subsequent packets pushed to the connected packet consumer |
|
| producer.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| dropper.displayStringTextFormat | string | "dropped %d/%p pk (%k/%l)" |
determines the text that is written on top of the submodule |
| dropper.backpressure | bool | false | |
| dropper.collectionModule | string | "" | |
| dropper.wq | double | 0.002 |
weight of the current queue length in the averaged queue length, in range [0.0, 1.0] |
| dropper.minth | double | 5 |
minimum threshold for avg queue length |
| dropper.maxth | double | 50 |
maximum threshold for avg queue length (=buffer capacity), in range (minth,packetCapacity] |
| dropper.maxp | double | 0.02 |
maximum value for pbs, in range [0.0, 1.0] |
| dropper.pkrate | double | 150 |
average packet rate for calculations when queue is empty |
| dropper.useEcn | bool | false |
if enabled, packets are marked with ECN if applicable |
| dropper.packetCapacity | int | int(maxth) |
packets are dropped if queue length is greater |
| queue.displayStringTextFormat | string | "contains %p pk (%l) pushed %u\npulled %o removed %r dropped %d" |
determines the text that is written on top of the submodule |
| queue.packetCapacity | int | -1 |
maximum number of packets in the queue, no limit by default |
| queue.dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| queue.dropperClass | string | "" |
determines which packets are dropped when the queue is overloaded, packets are not dropped by default; the parameter must be the name of a C++ class which implements the IPacketDropperFunction C++ interface and is registered via Register_Class |
| queue.comparatorClass | string | "" |
determines the order of packets in the queue, insertion order by default; the parameter must be the name of a C++ class which implements the IPacketComparatorFunction C++ interface and is registered via Register_Class |
| queue.bufferModule | string | "" |
relative module path to the IPacketBuffer module used by this queue, implicit buffer by default |
| collector.displayStringTextFormat | string | "received %p pk (%l)" |
determines the text that is written on top of the submodule |
| collector.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| collector.initialCollectionOffset | double | 0s | |
| collector.collectionInterval | double |
elapsed time between subsequent packets pulled from the connected packet provider |
|
| collector.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
Source code
network RedDropperTutorialStep { submodules: producer: ActivePacketSource { @display("p=100,100"); } dropper: RedDropper { @display("p=300,100"); } queue: PacketQueue { @display("p=500,100"); } collector: ActivePacketSink { @display("p=700,100"); } connections: producer.out --> dropper.in; dropper.out --> queue.in; queue.out --> collector.in; } //-------------------------------------------------File: tutorials/queueing/QueueingTutorial.ned