Simple Module BGQueueBuffer

Package: ttethernet.buffer
File: src/buffer/BGQueueBuffer.ned

C++ definition

Represents a queue buffer for background traffic. Messages are sent immediatly to LLC

The buffer stores infinit messages in a fifo queue. The buffer removes and sends the first message in the queue.

See also: BGBuffer, Buffer,

Author: Till Steinbach

BGQueueBuffer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

Name Type Description
BGBuffer simple module

Represents an abstract Buffer for background traffic. Messages are sent immediatly to the LLC

Used in compound modules:

Name Type Description
TTEEtherHost compound module

Module for a TTEthernet Host. Contains a EtherLLC for best-effort traffic, a TTEPHYPort module as physical port, sync module (Sync) and a TTEScheduler module. The Host is configured by the provided TTEthernet XML network configuration (network_configuration parameter) and uses the device_name parameter to find its config. The configuration is done by the BufferManager that deletes itself at runtime.

Parameters:

Name Type Default value Description
destination_gates string ""

Priority of the buffer (currently only used for rate-constrained traffic) int priority=default(-1); Critical traffic ID of the buffer int ct_id=default(0); Critical traffic marker of the buffer int ct_marker=default(0); Critical traffic mask of the buffer int ct_mask=default(0); Comma seperated list of gates where the frames of the buffer are delivered

size int -1

Size of the buffer negative means infinite

drop_new bool false

Dropping policy, Should the newest frame instead of the oldest frame be dropped when the buffer is full (see size parameter)

Properties:

Name Value Description
display i=,green
class BGQueueBuffer

BGQueueBuffer is implemented by the BGQueueBuffer C++ Class

Gates:

Name Direction Size Description
in input

The buffers Input

out output

The buffers Output

WARNING: CURRENTLY NOT USED!

Statistics:

Name Title Source Record Unit Interpolation Mode
queueLength Queue Length vector sample-hold
ctDropped CT dropped sum

Source code:

//
// Represents a queue buffer for background traffic. Messages are sent immediatly to LLC
//
// The buffer stores infinit messages in a fifo queue.
// The buffer removes and sends the first message in the queue.
//
// @see BGBuffer, Buffer,
//
// @author Till Steinbach
simple BGQueueBuffer extends BGBuffer
{
    parameters:
        //BGQueueBuffer is implemented by the BGQueueBuffer C++ Class
        @class(BGQueueBuffer);
        //Statistic of the queue length of the buffer
        @statistic[queueLength](title="Queue Length"; record=vector; interpolationmode=sample-hold);
        //Statistic of the amount of packets that were dropped due to buffer overflows
        @statistic[ctDropped](title="CT dropped"; record=sum);
        //Size of the buffer negative means infinite
        int size = default(-1);
        //Dropping policy, Should the newest frame instead of the oldest frame be dropped when the buffer is full (see size parameter)
        bool drop_new = default(false);
}