Package: inet.tutorials.queueing
PriorityBufferTutorialStep
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 |
|---|---|---|---|
| buffer.displayStringTextFormat | string | "contains %p pk (%l)\nadded %a removed %r dropped %d" |
determines the text that is written on top of the submodule |
| buffer.packetCapacity | int | 100 |
maximum number of packets in the queue, no limit by default |
| buffer.dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| buffer.dropperClass | string | "inet::queueing::PacketWithHighestOwnerModuleIdDropper" |
determines which packets are dropped when the buffer 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 |
| producer1.displayStringTextFormat | string | "created %p pk (%l)" |
determines the text that is written on top of the submodule |
| producer1.packetNameFormat | string | "%a-%c" |
see directives in module documentation |
| producer1.packetRepresentation | string | "byteCount" |
determines the chunk of the packet data |
| producer1.packetLength | int | ||
| producer1.packetData | int | -1 | |
| producer1.attachCreationTimeTag | bool | true | |
| producer1.attachIdentityTag | bool | true | |
| producer1.attachDirectionTag | bool | true | |
| producer1.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| producer1.initialProductionOffset | double | 0s | |
| producer1.productionInterval | double |
elapsed time between subsequent packets pushed to the connected packet consumer |
|
| producer1.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| producer2.displayStringTextFormat | string | "created %p pk (%l)" |
determines the text that is written on top of the submodule |
| producer2.packetNameFormat | string | "%a-%c" |
see directives in module documentation |
| producer2.packetRepresentation | string | "byteCount" |
determines the chunk of the packet data |
| producer2.packetLength | int | ||
| producer2.packetData | int | -1 | |
| producer2.attachCreationTimeTag | bool | true | |
| producer2.attachIdentityTag | bool | true | |
| producer2.attachDirectionTag | bool | true | |
| producer2.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| producer2.initialProductionOffset | double | 0s | |
| producer2.productionInterval | double |
elapsed time between subsequent packets pushed to the connected packet consumer |
|
| producer2.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| queue1.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 |
| queue1.packetCapacity | int | -1 |
maximum number of packets in the queue, no limit by default |
| queue1.dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| queue1.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 |
| queue1.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 |
| queue2.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 |
| queue2.packetCapacity | int | -1 |
maximum number of packets in the queue, no limit by default |
| queue2.dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| queue2.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 |
| queue2.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 |
| collector1.displayStringTextFormat | string | "received %p pk (%l)" |
determines the text that is written on top of the submodule |
| collector1.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| collector1.initialCollectionOffset | double | 0s | |
| collector1.collectionInterval | double |
elapsed time between subsequent packets pulled from the connected packet provider |
|
| collector1.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| collector2.displayStringTextFormat | string | "received %p pk (%l)" |
determines the text that is written on top of the submodule |
| collector2.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| collector2.initialCollectionOffset | double | 0s | |
| collector2.collectionInterval | double |
elapsed time between subsequent packets pulled from the connected packet provider |
|
| collector2.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 PriorityBufferTutorialStep { submodules: buffer: PriorityBuffer { @display("p=125,350"); } producer1: ActivePacketSource { @display("p=125,100"); } producer2: ActivePacketSource { @display("p=125,225"); } queue1: PacketQueue { @display("p=325,100"); bufferModule = "^.buffer"; } queue2: PacketQueue { @display("p=325,225"); bufferModule = "^.buffer"; } collector1: ActivePacketSink { @display("p=525,100"); } collector2: ActivePacketSink { @display("p=525,225"); } connections: producer1.out --> queue1.in; queue1.out --> collector1.in; producer2.out --> queue2.in; queue2.out --> collector2.in; } //-------------------------------------------------File: tutorials/queueing/QueueingTutorial.ned