Package: inet.tutorials.queueing
PacketBasedTokenGeneratorTutorialStep
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 | ||
| display | bgb=1000,250 |
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 |
| provider.displayStringTextFormat | string | "created %p pk (%l)" |
determines the text that is written on top of the submodule |
| provider.packetNameFormat | string | "%a-%c" |
see directives in module documentation |
| provider.packetRepresentation | string | "byteCount" |
determines the chunk of the packet data |
| provider.packetLength | int | ||
| provider.packetData | int | -1 | |
| provider.attachCreationTimeTag | bool | true | |
| provider.attachIdentityTag | bool | true | |
| provider.attachDirectionTag | bool | true | |
| provider.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| provider.providingInterval | double | 0s |
elapsed time between subsequent packets allowed to be pulled by the connected packet collector, 0 means any number of packets can be pulled at the same simulation time |
| provider.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| server.displayStringTextFormat | string | "contains %n tk\nserved %p pk (%l)" |
determines the text that is written on top of the submodule |
| server.initialNumTokens | double | 0 |
initial number of tokens |
| server.maxNumTokens | double | nan |
maximum number of tokens |
| server.tokenConsumptionPerPacket | double | 1 |
how many tokens are consumed per processed packet |
| server.tokenConsumptionPerBit | double | 0 |
how many tokens are consumed per processed bit |
| consumer.displayStringTextFormat | string | "received %p pk (%l)" |
determines the text that is written on top of the submodule |
| consumer.clockModule | string | "" |
relative path of a module that implements IClock(1,2); optional |
| consumer.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 |
| consumer.scheduleForAbsoluteTime | bool | true |
when a clock is used relative means that setting the clock will not affect the simulation time of the event |
| tokenGenerator.displayStringTextFormat | string | "processed %p pk (%l)\ngenerated %t tk\nto %s" |
determines the text that is written on top of the submodule |
| tokenGenerator.numTokensPerPacket | double | 1 |
number of tokens per consumed packet |
| tokenGenerator.numTokensPerBit | double | 0 |
number of tokens per consumed bit |
Source code
network PacketBasedTokenGeneratorTutorialStep { @display("bgb=1000,250"); submodules: producer: ActivePacketSource { @display("p=100,125"); } provider: PassivePacketSource { @display("p=500,125"); } server: TokenBasedServer { @display("p=700,125"); } consumer: PassivePacketSink { @display("p=900,125"); } tokenGenerator: PacketBasedTokenGenerator { @display("p=300,125"); storageModule = "^.server"; } connections allowunconnected: producer.out --> tokenGenerator.in; provider.out --> server.in; server.out --> consumer.in; } //-------------------------------------------------File: tutorials/queueing/QueueingTutorial.ned