NrRlcUmTxEntity

Package: simu5g.stack.rlc.um

NrRlcUmTxEntity

simple module

NR (TS 38.322) transmission side of the Unacknowledged Mode (UM) of the RLC layer: SI + byte-offset (SO) segmentation, one SDU segment per PDU, one sequence number per SDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D mode-switch machinery) with the LTE profile LteRlcUmTxEntity. Bound by default inside the NrRlcUmEntity compound. The NR SO-segmentation statistics are declared here so they are recorded only for NR entities.

Inheritance diagram

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

Known subclasses

Name Type Description
NrRlcUmTxEntityD2D simple module

D2D-capable NR (TS 38.322) RLC UM transmitting entity: NrRlcUmTxEntity plus the same D2D mode-switch machinery as LteRlcUmTxEntityD2D, over the SO segmentation buffer.

Parameters

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

Set by the enclosing RlcUmEntityBase compound (per leg)

sn_FieldLength int 12

UM SN field length in bits: 6 or 12

Properties

Name Value Description
dynamic true
display i=block/layer

Gates

Name Direction Size Description
in input

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

macIn input

MAC SDU requests, via the RlcMux

out output

PDUs and new-data notifications to MAC, via the RlcMux

Signals

Name Type Unit Description
wastedGrantedBytes
requestedPduSize
sentPduSize
receivedPacketFromUpperLayer
sentPacketToLowerLayer

Statistics

Name Title Source Record Unit Interpolation Mode Description
wastedGrantedBytes Wasted granted bytes wastedGrantedBytes sum B
requestedPduSize Requested PDU size requestedPduSize vector B
sentPduSize Sent PDU size sentPduSize vector B
receivedPacketFromUpperLayer receivedPacketFromUpperLayer count, sum(packetBytes) none
sentPacketToLowerLayer sentPacketToLowerLayer count, sum(packetBytes) none

Source code

//
// NR (TS 38.322) transmission side of the Unacknowledged Mode (UM) of the RLC
// layer: SI + byte-offset (SO) segmentation, one SDU segment per PDU, one sequence
// number per SDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D
// mode-switch machinery) with the LTE profile ~LteRlcUmTxEntity. Bound by
// default inside the ~NrRlcUmEntity compound. The NR SO-segmentation statistics
// are declared here so they are recorded only for NR entities.
//
simple NrRlcUmTxEntity like simu5g.stack.rlc.IRlcTxEntity
{
    parameters:
        @dynamic(true);
        @display("i=block/layer");
        string macModule = default("^.^.mac");  // Set by the enclosing RlcUmEntityBase compound (per leg)
        int sn_FieldLength = default(12);   // UM SN field length in bits: 6 or 12

        @signal[wastedGrantedBytes];
        @statistic[wastedGrantedBytes](title="Wasted granted bytes"; unit="B"; source="wastedGrantedBytes"; record=sum);
        @signal[requestedPduSize];
        @statistic[requestedPduSize](title="Requested PDU size"; unit="B"; source="requestedPduSize"; record=vector);
        @signal[sentPduSize];
        @statistic[sentPduSize](title="Sent PDU size"; unit="B"; source="sentPduSize"; record=vector);
        @signal[receivedPacketFromUpperLayer];
        @statistic[receivedPacketFromUpperLayer](source="receivedPacketFromUpperLayer"; record=count,"sum(packetBytes)"; interpolationmode=none);
        @signal[sentPacketToLowerLayer];
        @statistic[sentPacketToLowerLayer](source="sentPacketToLowerLayer"; record=count,"sum(packetBytes)"; interpolationmode=none);

    gates:
        input in;       // SDUs from the PDCP layer (direct per-DRB connection, not via a mux)
        input macIn;    // MAC SDU requests, via the RlcMux
        output out;     // PDUs and new-data notifications to MAC, via the RlcMux
}
File: src/simu5g/stack/rlc/um/NrRlcUmTxEntity.ned