Package: inet.tutorials.queueing
ExampleHost
compound module(no description)
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Used in
| Name | Type | Description |
|---|---|---|
| ExampleNetworkTutorialStep | network | (no description) |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=device/pc |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| lowerIn | input | ||
| lowerOut | output |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| sourceApplication.displayStringTextFormat | string | "created %p pk (%l)" |
determines the text that is written on top of the submodule |
| sourceApplication.packetNameFormat | string | "%a-%c" |
see directives in module documentation |
| sourceApplication.packetRepresentation | string | "byteCount" |
determines the chunk of the packet data |
| sourceApplication.packetLength | int | ||
| sourceApplication.packetData | int | -1 | |
| sourceApplication.attachCreationTimeTag | bool | true | |
| sourceApplication.attachIdentityTag | bool | true | |
| sourceApplication.attachDirectionTag | bool | true | |
| sourceApplication.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| sourceApplication.initialProductionOffset | double | 0s | |
| sourceApplication.productionInterval | double |
elapsed time between subsequent packets pushed to the connected packet consumer |
|
| sourceApplication.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| destinationApplication.displayStringTextFormat | string | "received %p pk (%l)" |
determines the text that is written on top of the submodule |
| destinationApplication.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| destinationApplication.consumptionInterval | double | 0s |
elapsed time between subsequent packets allowed to be pushed by the connected packet producer, 0 means any number of packets can be pushed at the same simulation time |
| destinationApplication.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| interface.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 |
| interface.queue.packetCapacity | int | -1 |
maximum number of packets in the queue, no limit by default |
| interface.queue.dataCapacity | int | -1b |
maximum total length of packets in the queue, no limit by default |
| interface.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 |
| interface.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 |
| interface.queue.bufferModule | string | "" |
relative module path to the IPacketBuffer module used by this queue, implicit buffer by default |
| interface.server.displayStringTextFormat | string | "served %p pk (%l)\n%s" |
determines the text that is written on top of the submodule |
| interface.server.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| interface.server.processingTime | double |
determines additional processing time per packet |
|
| interface.server.processingBitrate | double | inf bps |
determines additional processing time per bit |
Source code
module ExampleHost { parameters: @display("i=device/pc"); gates: input lowerIn; output lowerOut; submodules: sourceApplication: ActivePacketSource { @display("p=100,100"); } destinationApplication: PassivePacketSink { @display("p=300,100"); } interface: ExampleInterface { @display("p=200,200"); } connections: sourceApplication.out --> interface.upperIn; interface.lowerOut --> lowerOut; lowerIn --> interface.lowerIn; interface.upperOut --> destinationApplication.in; } //-------------------------------------------------File: tutorials/queueing/QueueingTutorial.ned