LteRlcAmDataPdu¶
Namespace: simu5g
class LteRlcAmDataPdu
LTE RLC AM data PDU: an AMD PDU or, when rf is set, an AMD PDU segment (3GPP TS 36.322 6.2.1.4 / 6.2.1.5).
Concatenation is modeled exactly as in the UM data PDU (the inherited SDU list with per-SDU sizes plus the FI bits); an AMD PDU additionally carries the poll bit, and its sequence number (10-bit on the wire; unbounded in the model, as everywhere else) is the unit of ARQ.
An AMD PDU segment – a re-segmented retransmission built to fit a smaller grant – carries the byte range [soStart, soEnd] of the original PDU’s data field. As elsewhere in the model, the segment packet carries the original PDU’s whole SDU list, and only chunkLength reflects the bytes on the air.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
class |
(no description) |
Fields¶
Name |
Type |
Description |
|---|---|---|
id |
int |
|
mutable |
bool |
|
complete |
bool |
|
correct |
bool |
|
properlyRepresented |
bool |
|
chunkLength |
b |
|
rawBin |
string[] |
|
rawHex |
string[] |
|
regionTags |
SharingRegionTagSet::TagBaseRegionTag[] |
|
chunkLength |
||
sdu |
inet::Packet*[] |
|
sduSize |
size_t[] |
|
pduSequenceNumber |
unsigned int |
Sequence number of the PDU |
framingInfo |
define the segmentation info for the PDU |
|
chunkLength |
||
pollStatus |
bool |
P bit (TS 36.322 5.2.2) |
rf |
bool |
resegmentation flag: this is an AMD PDU segment |
soStart |
unsigned int |
segment offset of the first data byte carried |
soEnd |
unsigned int |
segment offset of the last data byte carried |
lsf |
bool |
last segment flag |
Properties¶
Name |
Value |
Description |
|---|---|---|
beforeChange |
handleChange() |
|
descriptor |
readonly |
|
existingClass |
||
packetData |
Source code¶
//
// LTE RLC AM data PDU: an AMD PDU or, when rf is set, an AMD PDU segment
// (3GPP TS 36.322 6.2.1.4 / 6.2.1.5).
//
// Concatenation is modeled exactly as in the UM data PDU (the inherited SDU
// list with per-SDU sizes plus the FI bits); an AMD PDU additionally carries
// the poll bit, and its sequence number (10-bit on the wire; unbounded in the
// model, as everywhere else) is the unit of ARQ.
//
// An AMD PDU segment -- a re-segmented retransmission built to fit a smaller
// grant -- carries the byte range [soStart, soEnd] of the original PDU's data
// field. As elsewhere in the model, the segment packet carries the original
// PDU's whole SDU list, and only chunkLength reflects the bytes on the air.
//
class LteRlcAmDataPdu extends LteRlcDataPdu
{
chunkLength = inet::B(RLC_HEADER_AM);
bool pollStatus = false; // P bit (TS 36.322 5.2.2)
bool rf = false; // resegmentation flag: this is an AMD PDU segment
unsigned int soStart = 0; // segment offset of the first data byte carried
unsigned int soEnd = 0; // segment offset of the last data byte carried
bool lsf = false; // last segment flag
}