Simple Module AVBBuffer

Package: core4inet.buffer.avb
File: src/core4inet/buffer/avb/AVBBuffer.ned

C++ definition

Represents an abstract Buffer for audio-video bridging traffic. Messages are sent using the Credit Based Shaper Algorithm.

WARNING: Do not instantiate the module. Use AVBDoubleBuffer or AVBQueueBuffer instead!

See also: AVBQueueBuffer, Buffer, SchedulerActionTimeEvent, Scheduler

Author: Philipp Meyer

AVBBuffer

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 (real-time) Ethernet. Since this is an abstract module please do not instantiate it

Known subclasses:

Name Type Description
AVBQueueBuffer simple module

Represents a queue buffer for time-triggered traffic. Messages are sent using the Credit Based Shaper Algorithm.

Parameters:

Name Type Default value Description
destination_gates string ""

Comma seperated list of gates where the frames of the buffer are delivered

maxMessageSize int 1522B

The maximum allowed message size for this buffer. Larger Frames are dropped.

enabled bool true

Switch to enable and disable the buffer

srClass string "A"
oscillator string "^.scheduler.oscillator"

Oscillator of the timed module (must be set to the name of an oscillator module in the Node) when left empty: oscillator

timer string "^.scheduler.timer"

Timer of the timed module (must be set to the name of an timer module in the Node) when left empty: timer

Properties:

Name Value Description
class AbstractSimpleModule
display i=,blue

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

Signals:

Name Type Unit
credit long

Statistics:

Name Title Source Record Unit Interpolation Mode
credit Credit credit vector b linear

Source code:

//
// Represents an abstract Buffer for audio-video bridging traffic. Messages are sent using the Credit Based Shaper Algorithm.
//
// @warning Do not instantiate the module. Use AVBDoubleBuffer or AVBQueueBuffer instead!
//
// @see AVBQueueBuffer, Buffer, SchedulerActionTimeEvent, Scheduler
//
// @author Philipp Meyer
simple AVBBuffer extends Buffer like ITimed
{
    parameters:
        @class(AbstractSimpleModule);
        @display("i=,blue");
        //Signal emitted when the credit of the CBS algorithm changes
        @signal[credit](type=long);
        //Statistic of the credit of the CBS algorithm
        @statistic[credit](title="Credit"; source=credit; unit=b; record=vector; interpolationmode=linear; );

		// Stream Reservation Class of the AVB Buffer
        string srClass = default("A");
        //Oscillator of the timed module (must be set to the name of an oscillator module in the Node) when left empty: oscillator
        string oscillator = default("^.scheduler.oscillator");
        //Timer of the timed module (must be set to the name of an timer module in the Node) when left empty: timer
        string timer = default("^.scheduler.timer");
    gates:
        //Input gate for the incoming SchedulerActionTimeEvent messages
        input schedulerIn @directIn;
}