QueueFiller

Package: inet.queueing.source

QueueFiller

compound module

Produces packets in order to prevent a queue from becoming empty.

provider : like IPassivePacketSource

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

IPassivePacketSource: Interface for passive packet source modules.

Source:
provider: <default("PassivePacketSource")> like IPassivePacketSource {
    parameters:
        providingInterval = default(0s);
        @display("p=250,100");
} server : like IPacketServer

TokenBasedServer: Repeatedly pulls packets from the connected packet provider and it pushes them into the connected...

IPacketServer: Interface for packet server modules.

Source:
server: <default("TokenBasedServer")> like IPacketServer {
    parameters:
        @display("p=250,200");
} tokenGenerator : like ITokenGenerator

QueueBasedTokenGenerator: Generates tokens for a ~TokenBasedServer based on the observed state changes of a packet queue.

ITokenGenerator: Interface for token generators.

Source:
tokenGenerator: <default("QueueBasedTokenGenerator")> like ITokenGenerator {
    parameters:
        storageModule = default("^.server");
        @display("p=100,100");
}

Usage diagram

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

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in

Name Type Description
QueueFillerTutorialStep network (no description)

Properties

Name Value Description
display i=block/source

Gates

Name Direction Size Description
out output

Source code

//
// Produces packets in order to prevent a queue from becoming empty.
//
module QueueFiller like IActivePacketSource
{
    parameters:
        @display("i=block/source");
    gates:
        output out @labels(pull);
    submodules:
        provider: <default("PassivePacketSource")> like IPassivePacketSource {
            parameters:
                providingInterval = default(0s);
                @display("p=250,100");
        }
        server: <default("TokenBasedServer")> like IPacketServer {
            parameters:
                @display("p=250,200");
        }
        tokenGenerator: <default("QueueBasedTokenGenerator")> like ITokenGenerator {
            parameters:
                storageModule = default("^.server");
                @display("p=100,100");
        }
    connections:
        provider.out --> server.in;
        server.out --> { @display("m=s"); } --> out;
}
File: src/inet/queueing/source/QueueFiller.ned