RlcTmEntity

Package: simu5g.stack.rlc

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.

tx : like IRlcTxEntity

RlcTmTxEntity: Implements the transmission side of the Transparent Mode (TM) of the Radio Link Control (RLC) layer...

IRlcTxEntity: Module interface for the transmitting side of an RLC entity (TM/UM/AM).

Source:
tx: <default("simu5g.stack.rlc.tm.RlcTmTxEntity")> like IRlcTxEntity {
    @display("p=50,50");
} rx : like IRlcRxEntity

RlcTmRxEntity: Implements the receiving side of the Transparent Mode (TM) of the Radio Link Control (RLC) layer...

IRlcRxEntity: Module interface for the receiving side of an RLC entity (TM/UM/AM).

Source:
rx: <default("simu5g.stack.rlc.tm.RlcTmRxEntity")> like IRlcRxEntity {
    @display("p=150,50");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Properties

Name Value Description
dynamic true
display i=block/wheelbarrow

Gates

Name Direction Size Description
upperIn input

SDUs from PDCP

upperOut output

Reassembled SDUs to PDCP

lowerIn input

PDUs from RlcMux

lowerOut output

PDUs and new-data notifications to RlcMux/MAC

macIn input

MAC SDU requests via RlcMux

Source code

//
// 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.
//
module RlcTmEntity
{
    parameters:
        @dynamic(true);
        @display("i=block/wheelbarrow");
    gates:
        input upperIn;    // SDUs from PDCP
        output upperOut;  // Reassembled SDUs to PDCP
        input lowerIn;    // PDUs from RlcMux
        output lowerOut;  // PDUs and new-data notifications to RlcMux/MAC
        input macIn;      // MAC SDU requests via RlcMux
    submodules:
        tx: <default("simu5g.stack.rlc.tm.RlcTmTxEntity")> like IRlcTxEntity {
            @display("p=50,50");
        }
        rx: <default("simu5g.stack.rlc.tm.RlcTmRxEntity")> like IRlcRxEntity {
            @display("p=150,50");
        }
    connections:
        upperIn --> { @display("m=n"); } --> tx.in;
        macIn --> { @display("m=s"); } --> tx.macIn;
        tx.out --> { @display("m=s"); } --> lowerOut;
        lowerIn --> { @display("m=s"); } --> rx.in;
        rx.out --> { @display("m=n"); } --> upperOut;
}
File: src/simu5g/stack/rlc/RlcTmEntity.ned