RlcMuxD2D

Package: simu5g.stack.d2d.rlc

RlcMuxD2D

simple module

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.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the 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
sentPacketToLowerLayer
rlcDelayDl
rlcThroughputDl
rlcDelayUl
rlcThroughputUl
rlcPduDelayDl
rlcPduThroughputDl
rlcPduDelayUl
rlcPduThroughputUl
rlcDelayD2D
rlcThroughputD2D
rlcPduDelayD2D
rlcPduThroughputD2D

Statistics

Name Title Source Record Unit Interpolation Mode Description
receivedPacketFromLowerLayer receivedPacketFromLowerLayer count, sum(packetBytes), vector(packetBytes) none
sentPacketToLowerLayer sentPacketToLowerLayer count, sum(packetBytes), vector(packetBytes) none
rlcDelayDl Delay at the rlc layer DL rlcDelayDl mean, vector s
rlcThroughputDl Throughput at the rlc layer DL rlcThroughputDl simu5g_rateavg, vector Bps
rlcDelayUl Delay at the rlc layer UL rlcDelayUl mean, vector s
rlcThroughputUl Throughput at the rlc layer UL rlcThroughputUl simu5g_rateavg, vector Bps
rlcPduDelayDl Delay at the rlc layer UL rlcPduDelayDl mean, vector s
rlcPduThroughputDl Throughput at the rlc layer DL rlcPduThroughputDl simu5g_rateavg, vector Bps
rlcPduDelayUl Delay at the rlc layer UL rlcPduDelayUl mean, vector s
rlcPduThroughputUl Throughput at the rlc layer UL rlcPduThroughputUl simu5g_rateavg, vector Bps
rlcDelayD2D Delay at the rlc layer D2D rlcDelayD2D mean, vector s
rlcThroughputD2D Throughput at the rlc layer D2D rlcThroughputD2D simu5g_rateavg, vector Bps
rlcPduDelayD2D Delay at the rlc layer D2D rlcPduDelayD2D mean, vector s
rlcPduThroughputD2D Throughput at the rlc layer D2D rlcPduThroughputD2D simu5g_rateavg, vector Bps

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