RlcUmRxEntityD2D< Base > Class Template Reference

Simu5G: RlcUmRxEntityD2D< Base > Class Template Reference
Simu5G
RlcUmRxEntityD2D< Base > Class Template Referenceabstract

#include <RlcUmEntityD2D.h>

Inheritance diagram for RlcUmRxEntityD2D< Base >:
[legend]

Public Member Functions

void rlcHandleD2DModeSwitch (bool oldConnection, bool oldMode, bool clearBuffer) override

Protected Member Functions

virtual void discardRxBufferForModeSwitch ()=0
virtual void resetRxNumbering ()=0

Detailed Description

template<class Base>
class simu5g::RlcUmRxEntityD2D< Base >

D2D mode-switch machinery for an RLC UM receiving entity.

Mixin over either UM RX profile (Base = LteRlcUmRxEntity or NrRlcUmRxEntity). It carries the mode-switch skeleton and the D2D branch of the direction-indexed statistics; discarding and renumbering the RX buffer is profile-specific and left to the leaf.

Member Function Documentation

◆ discardRxBufferForModeSwitch()

template<class Base>
virtual void discardRxBufferForModeSwitch ( )
protectedpure virtual

Discard whatever the old mode left in the RX buffer (delivering what can still be reassembled) and stop the reassembly/reordering timer.

Implemented in LteRlcUmRxEntityD2D, and NrRlcUmRxEntityD2D.

Referenced by rlcHandleD2DModeSwitch().

◆ resetRxNumbering()

template<class Base>
virtual void resetRxNumbering ( )
protectedpure virtual

Reset the receive numbering of the new-mode entity, and arrange for its first PDU to be taken as in-sequence.

Implemented in LteRlcUmRxEntityD2D, and NrRlcUmRxEntityD2D.

Referenced by rlcHandleD2DModeSwitch().

◆ rlcHandleD2DModeSwitch()

template<class Base>
void rlcHandleD2DModeSwitch ( bool oldConnection,
bool oldMode,
bool clearBuffer )
inlineoverridevirtual

Adapt the RX buffers and the sequence numbering to a D2D mode switch.

Implements ID2dRlcUmRxEntity.

References discardRxBufferForModeSwitch(), and resetRxNumbering().