SignalBasedTokenGeneratorTutorialStep

Package: inet.tutorials.queueing

SignalBasedTokenGeneratorTutorialStep

network

(no description)

PassivePacketSource TokenBasedServer PassivePacketSink SignalBasedTokenGenerator

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Properties

Name Value Description
isNetwork
display bgb=600,350

Unassigned submodule parameters

Name Type Default value Description
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 "generated %t tk\nto %s"

determines the text that is written on top of the submodule

tokenGenerator.numTokens double 1

number of tokens generated repeatedly

Source code

network SignalBasedTokenGeneratorTutorialStep
{
    @display("bgb=600,350");
    submodules:
        provider: PassivePacketSource {
            @display("p=100,125");
        }
        server: TokenBasedServer {
            @display("p=300,125");
        }
        consumer: PassivePacketSink {
            @display("p=500,125");
        }
        tokenGenerator: SignalBasedTokenGenerator {
            @display("p=100,250");
            signals = "packetDropped";
            subscriptionModule = "^.consumer";
            storageModule = "^.server";
        }
    connections allowunconnected:
        provider.out --> server.in;
        server.out --> consumer.in;
}

//-------------------------------------------------

File: tutorials/queueing/QueueingTutorial.ned