NrRlcUmRxEntityD2D

Package: simu5g.stack.d2d.rlc

NrRlcUmRxEntityD2D

simple module

D2D-capable NR (TS 38.322) RLC UM receiving entity: NrRlcUmRxEntity plus the mode-switch buffer discard/renumbering and the D2D branch of the throughput/delay statistics.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
NrRlcUmRxEntity simple module

NR (TS 38.322) receiving side of the Unacknowledged Mode (UM) of the RLC layer: SI + byte-offset (SO) reassembly with a per-SDU SN window and a t-Reassembly timer. Shares the common RlcUmRxEntityBase shell with the LTE profile LteRlcUmRxEntity. Bound by default inside the NrRlcUmEntity compound. The NR SO-reassembly statistics are declared here so they are recorded only for NR entities.

Parameters

Name Type Default value Description
macModule string "^.^.mac"

Set by the enclosing RlcUmEntityBase compound (per leg)

rlcMuxModule string "^.^.rlcMux"

This bearer's leg mux; set by the RlcUmEntityBase compound

UM_Window_Size int 2048

SDU reassembly window: 2048 (12-bit SN) or 32 (6-bit SN)

t_Reassembly double 80ms

Properties

Name Value Description
dynamic true
display i=block/layer
class NrRlcUmRxEntityD2D

Gates

Name Direction Size Description
in input

PDUs from MAC, via the RlcMux

out output

Reassembled SDUs to the PDCP layer (direct per-DRB connection, not via a mux)

Signals

Name Type Unit Description
receivedPacketFromLowerLayer
sentPacketToUpperLayer
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
sentPacketToUpperLayer sentPacketToUpperLayer count, sum(packetBytes), vector(packetBytes) none
rlcDelayDl Delay at the rlc layer DL rlcDelayDl mean s
rlcThroughputDl Throughput at the rlc layer DL rlcThroughputDl simu5g_rateavg Bps
rlcDelayUl Delay at the rlc layer UL rlcDelayUl mean s
rlcThroughputUl Throughput at the rlc layer UL rlcThroughputUl simu5g_rateavg Bps
rlcPduDelayDl PDU delay at the rlc layer DL rlcPduDelayDl mean s
rlcPduThroughputDl PDU throughput at the rlc layer DL rlcPduThroughputDl simu5g_rateavg Bps
rlcPduDelayUl PDU delay at the rlc layer UL rlcPduDelayUl mean s
rlcPduThroughputUl PDU throughput at the rlc layer UL rlcPduThroughputUl simu5g_rateavg Bps
rlcDelayD2D Delay at the rlc layer D2D rlcDelayD2D mean s
rlcThroughputD2D Throughput at the rlc layer D2D rlcThroughputD2D simu5g_rateavg Bps
rlcPduDelayD2D PDU delay at the rlc layer D2D rlcPduDelayD2D mean s
rlcPduThroughputD2D PDU throughput at the rlc layer D2D rlcPduThroughputD2D simu5g_rateavg Bps

Source code

//
// D2D-capable NR (TS 38.322) RLC UM receiving entity: ~NrRlcUmRxEntity plus the
// mode-switch buffer discard/renumbering and the D2D branch of the
// throughput/delay statistics.
//
simple NrRlcUmRxEntityD2D extends NrRlcUmRxEntity
{
    parameters:
        @class("NrRlcUmRxEntityD2D");

        //# D2D statistics, emitted only by this D2D profile
        @signal[rlcDelayD2D];
        @statistic[rlcDelayD2D](title="Delay at the rlc layer D2D"; unit="s"; source="rlcDelayD2D"; record=mean);
        @signal[rlcThroughputD2D];
        @statistic[rlcThroughputD2D](title="Throughput at the rlc layer D2D"; unit="Bps"; source="rlcThroughputD2D"; record=simu5g_rateavg);
        @signal[rlcPduDelayD2D];
        @statistic[rlcPduDelayD2D](title="PDU delay at the rlc layer D2D"; unit="s"; source="rlcPduDelayD2D"; record=mean);
        @signal[rlcPduThroughputD2D];
        @statistic[rlcPduThroughputD2D](title="PDU throughput at the rlc layer D2D"; unit="Bps"; source="rlcPduThroughputD2D"; record=simu5g_rateavg);
}
File: src/simu5g/stack/d2d/rlc/NrRlcUmRxEntityD2D.ned