LeakyBucket

Package: inet.queueing.shaper

LeakyBucket

compound module

Implements a parameterizable leaky bucket algorithm.

queue : like IPacketQueue

DropTailQueue: A limited packet queue that drops packets at the tail of the queue.

IPacketQueue: Interface for packet queue modules.

Source:
queue: <default("DropTailQueue")> like IPacketQueue {
    parameters:
        @display("p=125,120");
} server : like IPacketServer

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

IPacketServer: Interface for packet server modules.

Source:
server: <default("PacketServer")> like IPacketServer {
    parameters:
        @display("p=325,120");
}

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
LeakyBucketTutorialStep network (no description)

Properties

Name Value Description
display i=block/buffer

Gates

Name Direction Size Description
in input
out output

Source code

//
// Implements a parameterizable leaky bucket algorithm.
//
module LeakyBucket like ITrafficConditioner
{
    parameters:
        @display("i=block/buffer");
    gates:
        input in @labels(push);
        output out @labels(pull);
    submodules:
        queue: <default("DropTailQueue")> like IPacketQueue {
            parameters:
                @display("p=125,120");
        }
        server: <default("PacketServer")> like IPacketServer {
            parameters:
                @display("p=325,120");
        }
    connections:
        in --> { @display("m=w"); } --> queue.in;
        queue.out --> server.in;
        server.out --> { @display("m=e"); } --> out;
}

File: src/inet/queueing/shaper/LeakyBucket.ned