NrRlcUmTxEntity¶
Package: simu5g.stack.rlc.um
simple module NrRlcUmTxEntity
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¶
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
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 |
|---|---|---|
display |
i=block/layer |
|
dynamic |
true |
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 |
|---|---|---|---|
receivedPacketFromUpperLayer |
|||
requestedPduSize |
|||
sentPacketToLowerLayer |
|||
sentPduSize |
|||
wastedGrantedBytes |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
receivedPacketFromUpperLayer |
receivedPacketFromUpperLayer |
count,”sum(packetBytes)” |
none |
|||
requestedPduSize |
Requested PDU size |
requestedPduSize |
vector |
B |
||
sentPacketToLowerLayer |
sentPacketToLowerLayer |
count,”sum(packetBytes)” |
none |
|||
sentPduSize |
Sent PDU size |
sentPduSize |
vector |
B |
||
wastedGrantedBytes |
Wasted granted bytes |
wastedGrantedBytes |
sum |
B |
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
}