Simple Module TTDoubleBuffer

Package: core4inet.buffer.AS6802
File: src/core4inet/buffer/AS6802/TTDoubleBuffer.ned

C++ definition

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

The buffer stores only one message at a time that is overwritten on each insert. The buffer sends a copy of the stored frame at each actionpoint

See also: TTBuffer, Buffer,

Author: Till Steinbach

TTDoubleBuffer

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

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

Used in compound modules:

Name Type Description
Node1 compound module

unit1: configuration in unit1.ini.

Node1 compound module

node1(1,2,3,4): configuration in node1(1,2,3,4).ini.

node1 compound module (no description)
node1 compound module (no description)
node1 compound module (no description)
Node2 compound module

unit2: configuration in unit2.ini.

Node2 compound module

node2(1,2,3,4): configuration in node2(1,2,3,4).ini.

node2 compound module (no description)
node2 compound module (no description)
node2 compound module (no description)
Node3 compound module

unit3: configuration in unit3.ini.

Node3 compound module

node3(1,2,3,4): configuration in node3(1,2,3,4).ini.

node3 compound module (no description)
node3 compound module (no description)
node3 compound module (no description)
node3 compound module (no description)
node4 compound module (no description)
node5 compound module (no description)
node6 compound module (no description)
node7 compound module (no description)
node9 compound module (no description)
Node_3 compound module (no description)
Node_4 compound module (no description)
Node_5 compound module (no description)
Node_6 compound module (no description)
Node_7 compound module (no description)
Node_9 compound module (no description)
Switch1 compound module

switch1(1,2,3,4): configuration in switch1(1,2,3,4).ini Forwards time-triggered messages with VL-ID 100 and rc messages with VL-ID 101

Switch1 compound module

switch1(1,2,3,4): configuration in switch1(1,2,3,4).ini Forwards time-triggered messages with VL-ID 100 and rate-constrained messages with VL-ID 101

Switch1 compound module

switch1(1,2,3,4): configuration in switch1(1,2,3,4).ini Forwards time-triggered messages with VL-ID 100

switch1 compound module (no description)
switch1 compound module (no description)
switch1 compound module (no description)
switch1 compound module (no description)
switch2 compound module (no description)
switch3 compound module (no description)
Switch_1 compound module (no description)
Switch_2 compound module (no description)
Switch_3 compound module (no description)
Tic compound module

tic: configuration in tic.ini.

Toc compound module

tic: configuration in tic.ini.

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

priority int -1

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

ct_id int

Critical traffic ID of the buffer

ct_marker int

Critical traffic marker of the buffer

ct_mask int

Critical traffic mask of the buffer

oscillator string "^.scheduler.oscillator"

Oscillator this buffer is assigned to

timer string "^.scheduler.timer"

Timer this buffer is assigned to

sendWindowStart int

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

sendWindowEnd int 0tick

End of the send window in number of ticks

period string "period[0]"

Period of Scheduler this buffer is assigned to

Properties:

Name Value Description
class TTDoubleBuffer

TTDoubleBuffer is implemented by the TTDoubleBuffer C++ Class

display i=,red

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
rxPk inet::EtherFrame
txPk inet::EtherFrame

Statistics:

Name Title Source Record Unit Interpolation Mode
rxLatency End-to-end latency (received) messageAge(rxPk) stats?, histogram?, vector? s none
rxBytes Received Bytes rxPk sum(packetBytes)?, vector(packetBytes)?, histogram(packetBytes)? B none
rxPk Received Packets rxPk count packets
txBytes Transmitted Bytes txPk sum(packetBytes), vector(packetBytes), histogram(packetBytes)? B none
minPacketSize Minimum Packet Size in Interval rxPk IntervalMinVector(packetBytes)? B linear
bandwidth Bandwidth used over Interval rxPk IntervalSumVector(packetBytes)? B linear
txPk Transmitted Packets txPk count packets
txLatency End-to-end latency (transmitted) messageAge(txPk) stats, histogram?, vector s none
maxPacketSize Maximum Packet Size in Interval rxPk IntervalMaxVector(packetBytes)? B linear

Source code:

//
// Represents a double buffer for time-triggered traffic. Messages are sent using the configured
// send window.
//
// The buffer stores only one message at a time that is overwritten on each insert.
// The buffer sends a copy of the stored frame at each actionpoint
//
// @see TTBuffer, Buffer,
//
// @author Till Steinbach
simple TTDoubleBuffer extends TTBuffer
{
    //TTDoubleBuffer is implemented by the TTDoubleBuffer C++ Class
    @class(TTDoubleBuffer);

}