IRlcTxEntity

Package: simu5g.stack.rlc

IRlcTxEntity

module interface

Module interface for the transmitting side of an RLC entity (TM/UM/AM). Concrete entity types (e.g. RlcTmTxEntity, RlcUmTxEntity, RlcAmTxEntity) implement this interface so that RlcTmEntity/RlcUmEntityBase/RlcAmEntityBase compound modules can instantiate them via a typename parameter. Implementations may declare additional gates (e.g. the AM control gates).

Inheritance diagram

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

Implemented by

Name Type Description
LteRlcAmTxEntity simple module

LTE (TS 36.322) transmission side of the Acknowledged Mode (AM) of the RLC layer: one AMD PDU per MAC grant built by concatenation (FI framing), the built PDU as the ARQ unit, NACK-driven retransmission with re-segmentation into AMD PDU segments, pollPDU/pollByte-driven status polling with t-PollRetransmit, and radio link failure at maxRtxThreshold retransmissions. Shares the common RlcAmTxEntityBase shell with the NR profile NrRlcAmTxEntity, whose ARQ skeleton it deliberately mirrors. Bound by default inside the LteRlcAmEntity compound.

LteRlcUmTxEntity simple module

LTE (TS 36.322) transmission side of the Unacknowledged Mode (UM) of the RLC layer: FI framing + concatenation of multiple SDUs per PDU, one sequence number per PDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D mode-switch machinery) with the NR profile NrRlcUmTxEntity. Bound by default inside the LteRlcUmEntity compound.

LteRlcUmTxEntityD2D simple module

D2D-capable LTE (TS 36.322) RLC UM transmitting entity: LteRlcUmTxEntity plus the D2D mode-switch machinery (SDU holding buffer, drain notification to the D2DModeController, sequence-number reset on the newly selected mode).

NrRlcAmTxEntity simple module

NR (TS 38.322) transmission side of the Acknowledged Mode (AM) of the RLC layer: byte-offset (SO) segmentation with re-segmentation on retransmission, pollByte/pollPDU-driven status polling. Shares the common RlcAmTxEntityBase shell with the LTE profile LteRlcAmTxEntity. Bound by default inside the NrRlcAmEntity compound. The NR SO-segmentation statistics are declared here so they are recorded only for NR entities.

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.

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.

RlcTmTxEntity simple module

Implements the transmission side of the Transparent Mode (TM) of the Radio Link Control (RLC) layer for a specific connection. Buffers SDUs from the upper layer and, upon receiving a MAC SDU request, sends the next queued PDU without segmentation or concatenation.

Used in compound modules

Name Type Description
RlcTmEntity compound module

RLC TM entity of one data radio bearer: packages the transmitting and the receiving side (TS 36.322 / 38.322 model an entity per bearer). Created dynamically by BearerManagement, one per (peer, DRB) pair; a bearer with traffic in one direction only simply leaves the other side idle.

RlcUmEntityBase compound module

Base type of the RLC UM entity of one data radio bearer: packages the transmitting and the receiving side (TS 36.322 / 38.322 model an entity per bearer). Created dynamically by BearerManagement, one per (peer, DRB) pair; a bearer with traffic in one direction only simply leaves the other side idle.

Known subclasses

Name Type Description
IRlcAmTxEntity module interface

Transmitting side of an RLC AM entity: extends the generic TX interface with the gates over which the co-located receiving side hands it control PDUs (see RlcAmEntityBase).

Properties

Name Value Description
display i=block/layer

Source code

//
// Module interface for the transmitting side of an RLC entity (TM/UM/AM).
// Concrete entity types (e.g. RlcTmTxEntity, RlcUmTxEntity, RlcAmTxEntity) implement
// this interface so that RlcTmEntity/RlcUmEntityBase/RlcAmEntityBase compound
// modules can instantiate them via a typename parameter. Implementations
// may declare additional gates (e.g. the AM control gates).
//
moduleinterface IRlcTxEntity
{
    parameters:
        @display("i=block/layer");
    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/IRlcTxEntity.ned