Simple Module CTBuffer

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

C++ definition

Abstract base Buffer used for critical traffic Buffers of TTEthernet. Since this is an abstract module please do not instantiate it

WARNING: Currently the out gate is not used. Instead the buffer sends its message via sendDirect to all via addDestinationGate() registred gates.

TODO: The CTBuffer module should be converted to an interface since it should not be used directly in simulation.

See also: Buffer

Author: Till Steinbach

CTBuffer

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
Buffer simple module

Abstract base Buffer used for the various Buffers of TTEthernet. Since this is an abstract module please do not instantiate it

Known subclasses:

Name Type Description
RCBuffer simple module

Represents an abstract Buffer for rate-constrained traffic. Messages are sent using the configured bandwidth allocation gap.

TTBuffer simple module

Represents an abstract Buffer for time-triggerd traffic. Messages are sent using the configured send window.

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

priority int -1

Priority of the buffer (currently only used for rate-constrained traffic)

ct_id int 0

Critical traffic ID of the buffer

ct_marker int 0

Critical traffic marker of the buffer

ct_mask int 0

Critical traffic mask of the buffer

Properties:

Name Value Description
display i=block/buffer

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
txPk TX Packets count, vector
latency End-to-end latency stats, histogram, vector s

Source code:

//
// Abstract base Buffer used for critical traffic Buffers of TTEthernet.
// Since this is an abstract module please do not instantiate it
//
// @warning Currently the out gate is not used. Instead the buffer sends its
// message via sendDirect to all via addDestinationGate() registred gates.
//
// @todo The CTBuffer module should be converted to an interface since it should
// not be used directly in simulation.
//
// @see Buffer
//
// @author Till Steinbach
simple CTBuffer extends Buffer
{
    parameters:
        @display("i=block/buffer");
        //Statistic of the amount of packets that were sent by the buffer
        @statistic[txPk](title="TX Packets"; record=count,vector);
        //End-to-end latency
        @statistic[latency](title="End-to-end latency"; unit=s; record=stats,histogram,vector);
        //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);

}