RlcUmTxEntityBase Class Reference

Simu5G: RlcUmTxEntityBase Class Reference
Simu5G
RlcUmTxEntityBase Class Referenceabstract

#include <RlcUmTxEntityBase.h>

Inheritance diagram for RlcUmTxEntityBase:
[legend]

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:

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 void handleSdu ( inet::Packet * pkt)
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 void handleMacSduRequest ( inet::Packet * pkt)
virtual

handleMacSduRequest() handles a MAC SDU request packet: extracts the requested size and calls rlcPduMake().