RlcMuxD2D

Package: simu5g.stack.d2d.rlc

simple module RlcMuxD2D

Device-to-Device (D2D) aware version of RlcMux. It additionally handles D2D mode switch notifications arriving from the MAC layer, dispatching them to the TX or RX UM entity of the affected bearer, and declares the D2D statistics (emitted by the D2D UM entities). Selected by the D2D-capable NICs.

simu5g.stack.d2d.rlc.RlcMuxD2DRlcMuxD2Dsimple

Inheritance diagram

Extends

Name

Type

Description

RlcMux

simple module

Lower-layer RLC packet dispatcher.

Parameters

Name

Type

Default value

Description

bearerManagementModule

string

“^.rrc.bearerManagement”

Properties

Name

Value

Description

class

RlcMuxD2D

display

p=100,200;i=block/dispatch

Gates

Name

Direction

Size

Description

macIn

input

macOut

output

toRxEntity [ ]

output

Dynamic: dispatches to RX entity in gates

fromTxEntity [ ]

input

Dynamic: receives from TX entity out gates

macToTxEntity [ ]

output

Dynamic: dispatches MAC SDU requests to TX entity macIn gates

Signals

Name

Type

Unit

Description

receivedPacketFromLowerLayer

rlcDelayD2D

rlcDelayDl

rlcDelayUl

rlcPduDelayD2D

rlcPduDelayDl

rlcPduDelayUl

rlcPduThroughputD2D

rlcPduThroughputDl

rlcPduThroughputUl

rlcThroughputD2D

rlcThroughputDl

rlcThroughputUl

sentPacketToLowerLayer

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

receivedPacketFromLowerLayer

receivedPacketFromLowerLayer

count,”sum(packetBytes)”,”vector(packetBytes)”

none

rlcDelayD2D

Delay at the rlc layer D2D

rlcDelayD2D

mean,vector

s

rlcDelayDl

Delay at the rlc layer DL

rlcDelayDl

mean,vector

s

rlcDelayUl

Delay at the rlc layer UL

rlcDelayUl

mean,vector

s

rlcPduDelayD2D

Delay at the rlc layer D2D

rlcPduDelayD2D

mean,vector

s

rlcPduDelayDl

Delay at the rlc layer UL

rlcPduDelayDl

mean,vector

s

rlcPduDelayUl

Delay at the rlc layer UL

rlcPduDelayUl

mean,vector

s

rlcPduThroughputD2D

Throughput at the rlc layer D2D

rlcPduThroughputD2D

simu5g_rateavg,vector

Bps

rlcPduThroughputDl

Throughput at the rlc layer DL

rlcPduThroughputDl

simu5g_rateavg,vector

Bps

rlcPduThroughputUl

Throughput at the rlc layer UL

rlcPduThroughputUl

simu5g_rateavg,vector

Bps

rlcThroughputD2D

Throughput at the rlc layer D2D

rlcThroughputD2D

simu5g_rateavg,vector

Bps

rlcThroughputDl

Throughput at the rlc layer DL

rlcThroughputDl

simu5g_rateavg,vector

Bps

rlcThroughputUl

Throughput at the rlc layer UL

rlcThroughputUl

simu5g_rateavg,vector

Bps

sentPacketToLowerLayer

sentPacketToLowerLayer

count,”sum(packetBytes)”,”vector(packetBytes)”

none

Source code

//
// Device-to-Device (D2D) aware version of ~RlcMux. It additionally handles
// D2D mode switch notifications arriving from the MAC layer, dispatching them
// to the TX or RX UM entity of the affected bearer, and declares the D2D
// statistics (emitted by the D2D UM entities). Selected by the D2D-capable
// NICs.
//
simple RlcMuxD2D extends RlcMux
{
    parameters:
        @class("RlcMuxD2D");

        //# D2D statistics (emitted by ~UmRxEntityD2D on this module)
        @signal[rlcDelayD2D];
        @statistic[rlcDelayD2D](title="Delay at the rlc layer D2D"; unit="s"; source="rlcDelayD2D"; record=mean,vector);
        @signal[rlcThroughputD2D];
        @statistic[rlcThroughputD2D](title="Throughput at the rlc layer D2D"; unit="Bps"; source="rlcThroughputD2D"; record=simu5g_rateavg,vector);

        @signal[rlcPduDelayD2D];
        @statistic[rlcPduDelayD2D](title="Delay at the rlc layer D2D"; unit="s"; source="rlcPduDelayD2D"; record=mean,vector);
        @signal[rlcPduThroughputD2D];
        @statistic[rlcPduThroughputD2D](title="Throughput at the rlc layer D2D"; unit="Bps"; source="rlcPduThroughputD2D"; record=simu5g_rateavg,vector);
}

File: src/simu5g/stack/d2d/rlc/RlcMuxD2D.ned