Simple Module TTBuffer

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

C++ definition

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

The TTBuffer registers a timer (SchedulerActionTimeEvent) at the scheduler module (TTEScheduler) to send its Message in conformance with the send window.

WARNING: Do not instantiate the module. Use TTDoubleBuffer or TTQueueBuffer instead!

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

See also: TTDoubleBuffer, TTQueueBuffer, Buffer, SchedulerActionTimeEvent, TTEScheduler

Author: Till Steinbach

TTBuffer

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

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

Known subclasses:

Name Type Description
TTDoubleBuffer simple module

Represents a double buffer for time-triggered traffic. Messages are sent using the configured send window.

TTQueueBuffer simple module

Represents a queue buffer for time-triggered 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

sendWindowStart int 0

Beginning of the send window in number of ticks (Changes to this parameter will get active for future scheduled frames only)

sendWindowEnd int 0

End of the send window in number of ticks

Properties:

Name Value Description
display i=,red
class TTBuffer

TTBuffer is implemented by the TTBuffer C++ Class

Gates:

Name Direction Size Description
in input

The buffers Input

out output

The buffers Output

WARNING: CURRENTLY NOT USED!

schedulerIn input

Input gate for the incoming SchedulerActionTimeEvent messages

Statistics:

Name Title Source Record Unit Interpolation Mode
txPk TX Packets count, vector
latency End-to-end latency stats, histogram, vector s

Source code:

//
// Represents an abstract Buffer for time-triggerd traffic. Messages are sent using the configured
// send window.
//
// The TTBuffer registers a timer (SchedulerActionTimeEvent) at the scheduler module (TTEScheduler) to send its
// Message in conformance with the send window.
//
// @warning Do not instantiate the module. Use TTDoubleBuffer or TTQueueBuffer instead!
//
// @todo The TTBuffer module should be converted to an interface since it should
// not be used directly in simulation.
//
// @see TTDoubleBuffer, TTQueueBuffer, Buffer, SchedulerActionTimeEvent, TTEScheduler
//
// @author Till Steinbach
simple TTBuffer extends CTBuffer
{
    parameters:
        //TTBuffer is implemented by the TTBuffer C++ Class
        @class(TTBuffer);
        @display("i=,red");
        //Beginning of the send window in number of ticks (Changes to this parameter will get active for future scheduled frames only)
        int sendWindowStart = default(0);
        //End of the send window in number of ticks
        int sendWindowEnd = default(0);
    gates:
        //Input gate for the incoming SchedulerActionTimeEvent messages
        input schedulerIn @directIn;

}