RlcUmTxEntityBase Class Reference¶
|
Simu5G
|
#include <RlcUmTxEntityBase.h>
Public Member Functions | |
| virtual void | handleSdu (inet::Packet *pkt) |
| void | bufferSduAndNotifyMac (inet::Packet *pkt) |
| virtual void | handleMacSduRequest (inet::Packet *pkt) |
Detailed Description
Common shell of the RLC UM transmission entity.
Holds the MAC plumbing, the D2D mode-switch machinery (holding buffer + and the new-data notification shared by both RATs. The wire-format specifics – SDU buffering, PDU build and TX-buffer teardown – are deferred to the concrete subclasses:
- LteRlcUmTxEntity (TS 36.322): FI framing + concatenation, SN per PDU.
- NrRlcUmTxEntity (TS 38.322): SI + byte-offset (SO) segmentation, SN per SDU.
The interceptSdu()/onTxBufferEmptied() seams are inert here; the D2D mode-switch machinery that uses them lives in the d2d package. Abstract base: not instantiated directly (no NED type, no Define_Module); BearerManagement binds one of the concrete profiles.
Member Function Documentation
◆ handleSdu()
|
virtual |
handleSdu() is the main entry point for SDUs from the upper layer. It adds the PDCP tracking tag, then enqueues/holds/drops the packet and sends a new-data indication to MAC on successful enqueue.
◆ bufferSduAndNotifyMac()
| void bufferSduAndNotifyMac | ( | inet::Packet * | pkt | ) |
Buffer an SDU into the TX buffer and send the new-data indication to the MAC, dropping the SDU on overflow. Shared by handleSdu() and by the D2D profile when it drains its holding queue.
◆ handleMacSduRequest()
|
virtual |
handleMacSduRequest() handles a MAC SDU request packet: extracts the requested size and calls rlcPduMake().
Generated by