Simple Module AVBTrafficSourceApp

Package: core4inet.applications.trafficsource.avb
File: src/core4inet/applications/trafficsource/avb/AVBTrafficSourceApp.ned

C++ definition

Traffic source application used for audio-video bridging traffic generators.

See also: ~TrafficSourceAppBase, ~ITimed

Author: Philipp Meyer, Till Steinbach

AVBTrafficSourceApp

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

Abstract base traffic source application used for various traffic generators. Uses CTFrame with encapsulated cPacket as payload Since this is an abstract module please do not instantiate it

Parameters:

Name Type Default value Description
displayName string ""

Name shown above the module

buffers string ""

Comma seperated list of buffer modules the application is allowed to use

buffers_manual bool false

If true, buffer management is not used. Applications use their own methods to locate buffers

enabled bool true

Trafficsource enabled or disabled

startTime double 0s

Start time

payload int 46Byte

Size of the payload of the message (size of encapsulated cPacket) that is being generated

streamID int 0

ID of the AVB Stream

srClass string "A"

Stream Reservation Class of the AVB Stream

intervalFrames int 1

Number of frames per interval

intervalInaccurracy double 0s

Variation of frame forwarding interval

vlan_id int 2

VLAN identifier of the AVB Stream

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 AVBTrafficSourceApp
display i=,blue

Gates:

Name Direction Size Description
schedulerIn input

Input gate for the incoming Scheduler messages

Signals:

Name Type Unit
payloadSignal

Statistics:

Name Title Source Record Unit Interpolation Mode
payloadOverTime payload over time payloadSignal stats?, histogram?, vector? B linear

Source code:

//
// Traffic source application used for audio-video bridging traffic generators.
//
// @see ~TrafficSourceAppBase, ~ITimed
//
// @author Philipp Meyer, Till Steinbach
//
simple AVBTrafficSourceApp extends TrafficSourceAppBase like ITimed
{
    parameters:
        @class(AVBTrafficSourceApp);
        @display("i=,blue");

        // ID of the AVB Stream
        int streamID = default(0);
        // Stream Reservation Class of the AVB Stream
        string srClass = default("A");
        // Number of frames per interval
        int intervalFrames = default(1);
        // Variation of frame forwarding interval
        volatile double intervalInaccurracy @unit(s) = default(0s);
        // VLAN identifier of the AVB Stream
        int vlan_id = default(2);
        //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");
}