NrMacUeD2D Class Reference

Simu5G: NrMacUeD2D Class Reference
Simu5G
NrMacUeD2D Class Reference

#include <NrMacUeD2D.h>

Inheritance diagram for NrMacUeD2D:
[legend]

Additional Inherited Members

Protected Member Functions inherited from D2dUeMacBase< NrMacUe >
void recordBufferOverflow (Direction dir, double sample) override
 The D2D directions are serviced here; everything else defers to the core MAC.
void initialize (int stage) override
void handleMessage (cMessage *msg) override
bool isBsrPending () const override
int64_t appendBsr (inet::Ptr< LteMacPdu > macPdu) override
bool buildStandaloneBsr () override
MacNodeId pduDestId (MacCid destCid) override
 D2D bearers are peer-addressed: the destination comes from the flow, not the cell.
bool shouldSkipScheduleEntry (unsigned int sduPerCid) const override
UnitList reserveTxHarqUnits (LteHarqBufferTx *txBuf, Direction dir) override
void macHandleRac (cPacket *pkt) override
LteHarqBufferRx * createRxHarqBuffer (MacNodeId src, const UserControlInfo *userInfo) override
 HARQ buffer factories: add support for the D2D and D2D_MULTI directions.
LcgScheduler * createLcgScheduler () override
 Factory override: use the D2D-capable LCG scheduler.

Detailed Description

D2D-capable NR UE MAC: the D2dUeMacBase mixin layered over the clean NR UE MAC. All the D2D logic lives in the mixin (see D2dUeMacBase.h); the NR main loop is inherited from NrMacUe (its only D2D delta flows through the isBsrPending() override in the mixin).