LeakyBucket

Package: inet.queueing.shaper

LeakyBucket

compound module

This module implements a parameterizable leaky bucket algorithm.

queue : like IPacketQueue

DropTailQueue: This module is a limited packet queue which drops packets at the tail of the queue.

IPacketQueue: This module interface is implemented by packet queue modules.

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

PacketServer: This module repeatedly pulls packets from the connected packet provider and after a processing...

IPacketServer: This module interface is implemented by 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.

Properties

Name Value Description
display i=block/buffer

Gates

Name Direction Size Description
in input
out output

Source code

//
// This module 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