LteHarqProcessRxD2D Class Reference

Simu5G: LteHarqProcessRxD2D Class Reference
Simu5G
LteHarqProcessRxD2D Class Reference

#include <LteHarqProcessRxD2D.h>

Inheritance diagram for LteHarqProcessRxD2D:
[legend]

Public Member Functions

 LteHarqProcessRxD2D (unsigned char acid, LteMacBase *owner, Binder *binder)
inet::Packet * createFeedback (Codeword cw) override
virtual inet::Packet * createFeedbackMirror (Codeword cw)
Public Member Functions inherited from LteHarqProcessRx
 LteHarqProcessRx (unsigned char acid, LteMacBase *owner, Binder *binder)
virtual void insertPdu (Codeword cw, inet::Packet *)
virtual bool isEvaluated (Codeword cw)
virtual bool isCorrect (Codeword cw)
virtual int64_t getByteLength (Codeword cw)
virtual RxHarqPduStatus getUnitStatus (Codeword cw)
virtual std::vector< RxUnitStatus > getProcessStatus ()
virtual inet::Packet * extractPdu (Codeword cw)
virtual void purgeCorruptedPdu (Codeword cw)
virtual void resetCodeword (Codeword cw)
virtual unsigned int getNumHarqUnits ()
bool isEmpty ()
virtual CwList emptyUnitsIds ()
virtual bool isHarqProcessActive ()

Additional Inherited Members

Protected Attributes inherited from LteHarqProcessRx
std::vector< inet::Packet * > pdu_
 contained PDUs
std::vector< RxHarqPduStatus > status_
 current status for each codeword
std::vector< inet::simtime_t > rxTime_
 reception time timestamp
unsigned char acid_
 H-ARQ process identifier.
opp_component_ptr< LteMacBase > macOwner_
 MAC module to manage errors (endSimulation)
opp_component_ptr< Binder > binder_
 reference to the binder
unsigned char transmissions_ = 0
 Number of (re)transmissions for current PDU (N.B.: values are 1,2,3,4)
unsigned short harqFbEvaluationTimer_
 Number of slots for sending back HARQ Feedback.

Detailed Description

H-ARQ RX processes contain PDUs received from the PHY layer for which H-ARQ feedback must be sent. These PDUs must be evaluated using H-ARQ correction functions. H-ARQ RX process state machine has three states: RXHARQ_PDU_EMPTY RXHARQ_PDU_EVALUATING RXHARQ_PDU_CORRECT

Constructor & Destructor Documentation

◆ LteHarqProcessRxD2D()

LteHarqProcessRxD2D ( unsigned char acid,
LteMacBase * owner,
Binder * binder )

Constructor.

Parameters
acidprocess identifier

Member Function Documentation

◆ createFeedback()

inet::Packet * createFeedback ( Codeword cw)
overridevirtual

Creates a feedback message based on the evaluation result for this PDU.

Returns
feedback message to be sent.

Reimplemented from LteHarqProcessRx.

◆ createFeedbackMirror()

virtual inet::Packet * createFeedbackMirror ( Codeword cw)
virtual

Creates a feedback message based on the evaluation result for this PDU. This is the feedback sent to the eNB

Returns
feedback message to be sent.