ServerTutorialStep

Package: inet.tutorials.queueing

ServerTutorialStep

network

(no description)

provider : PassivePacketSource

A passive packet source which can be pulled for packets from the connected packet collector.

Source:
provider: PassivePacketSource {
    @display("p=100,100");
} server : PacketServer

Repeatedly pulls packets from the connected packet provider and after a processing delay, it pushes...

Source:
server: PacketServer {
    @display("p=300,100");
} consumer : PassivePacketSink

A passive packet sink which is pushed with packets by the connected packet producer.

Source:
consumer: PassivePacketSink {
    @display("p=500,100");
}

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,200

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, supports displaying pars, watches, and module-specific information

provider.packetNameFormat string "%a-%c"

See directives in module documentation

provider.packetRepresentation string "byteCount"

Determines the chunk of the packet data

provider.packetProtocol string "unknown"
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.initialProvidingOffset double 0s

Initial duration before which packets are not provided

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 "served %p pk (%l)\n%s"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

server.clockModule string ""

Relative path of a module that implements IClock(1,2); optional

server.serveSchedulingPriority int -1

Specifies the FES scheduling priority for the extra event that is pulling the packet, -1 means no extra event

server.processingTime double

Determines additional processing time per packet

server.processingBitrate double inf bps

Determines additional processing time per bit

consumer.displayStringTextFormat string "received %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

consumer.clockModule string ""

Relative path of a module that implements IClock(1,2); optional

consumer.initialConsumptionOffset double 0s

Initial duration before which packets are not consumed

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

Source code

network ServerTutorialStep
{
    @display("bgb=600,200");
    submodules:
        provider: PassivePacketSource {
            @display("p=100,100");
        }
        server: PacketServer {
            @display("p=300,100");
        }
        consumer: PassivePacketSink {
            @display("p=500,100");
        }
    connections allowunconnected:
        provider.out --> server.in;
        server.out --> consumer.in;
}

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

File: tutorials/queueing/QueueingTutorial.ned