PacketFlowObserverUe Class Reference

Simu5G: PacketFlowObserverUe Class Reference
Simu5G
PacketFlowObserverUe Class Reference

#include <PacketFlowObserverUe.h>

Inheritance diagram for PacketFlowObserverUe:
[legend]

Public Member Functions

void insertPdcpSdu (inet::Packet *pdcpPkt) override
void receivedPdcpSdu (inet::Packet *pdcpPkt) override
void insertRlcPdu (DrbKey drbKey, const LteRlcUmDataPdu *rlcPdu, RlcBurstStatus status) override
void macPduArrived (MacNodeId peerId, const LteMacPdu *macPdu) override
void discardMacPdu (MacNodeId peerId, const LteMacPdu *macPdu) override
void discardRlcPdu (DrbKey drbKey, unsigned int rlcSno, bool fromMac=false) override
Public Member Functions inherited from PacketFlowObserverBase
virtual void ulMacPduArrived (MacNodeId nodeId, unsigned int grantId)
virtual void grantSent (MacNodeId nodeId, unsigned int grantId)

Detailed Description

The UE-specific version of Packet Flow Manager.

Member Function Documentation

◆ insertPdcpSdu()

void insertPdcpSdu ( inet::Packet * pdcpPkt)
overridevirtual

This method is called when a PDCP SDU enters the PDCP layer for downlink transmission. It records the PDCP sequence number and entry timestamp in the tracking data structures to enable delay measurement and packet flow monitoring. Used only by the eNodeB.

Implements PacketFlowObserverBase.

◆ receivedPdcpSdu()

void receivedPdcpSdu ( inet::Packet * pdcpPkt)
inlineoverridevirtual

This method is called when a PDCP SDU is received on the uplink. It tracks uplink data volume and packet loss rate statistics.

Implements PacketFlowObserverBase.

◆ insertRlcPdu()

void insertRlcPdu ( DrbKey drbKey,
const LteRlcUmDataPdu * rlcPdu,
RlcBurstStatus status )
overridevirtual

This method is called when an RLC PDU is created from PDCP SDUs for transmission. It records the mapping between the RLC PDU and its contained PDCP SDUs in the tracking data structures, along with burst status information for throughput measurement.

Implements PacketFlowObserverBase.

◆ macPduArrived()

void macPduArrived ( MacNodeId peerId,
const LteMacPdu * macPdu )
overridevirtual

This method is called when a downlink MAC PDU is successfully acknowledged by the UE. It processes the acknowledgment to determine if complete PDCP SDUs have been delivered, calculates packet delays, and updates statistics for downlink transmission.

Implements PacketFlowObserverBase.

◆ discardMacPdu()

void discardMacPdu ( MacNodeId peerId,
const LteMacPdu * macPdu )
overridevirtual

This method is called after maxHarqTransmission of a MAC PDU ID has been reached. The PDCP, RLC sequence numbers referred to the MAC PDU are cleared from the data structures.

Implements PacketFlowObserverBase.

◆ discardRlcPdu()

void discardRlcPdu ( DrbKey drbKey,
unsigned int rlcSno,
bool fromMac = false )
overridevirtual

This method is used to keep track of all discarded RLC PDUs. If all RLC PDUs that compose a PDCP SDU have been discarded, the discarded counters are updated. The fromMac parameter is used when this method is called by discardMacPdu.

Implements PacketFlowObserverBase.