LteHarqBufferRxD2D Class Reference¶
|
Simu5G
|
#include <LteHarqBufferRxD2D.h>
Public Member Functions | |
| void | insertPdu (Codeword cw, inet::Packet *pdu) override |
| std::list< inet::Packet * > | extractCorrectPdus () override |
| Public Member Functions inherited from LteHarqBufferRx | |
| virtual unsigned int | purgeCorruptedPdus () |
| virtual UnitList | firstAvailable () |
| virtual bool | isHarqBufferActive () const |
Protected Member Functions | |
| void | sendFeedback () override |
| Protected Member Functions inherited from LteHarqBufferRx | |
| virtual void | macUe_emit (simsignal_t signal, double val) |
| virtual void | initMacUe () |
Additional Inherited Members | |
| Protected Attributes inherited from LteHarqBufferRx | |
| opp_component_ptr< Binder > | binder_ |
| binder module reference | |
| opp_component_ptr< LteMacBase > | macOwner_ |
| MAC module reference. | |
| unsigned int | numHarqProcesses_ |
| number of contained H-ARQ processes | |
| MacNodeId | srcId_ |
| ID of the source node for which this buffer has been created. | |
| std::vector< LteHarqProcessRx * > | processes_ |
| processes vector | |
| bool | isMulticast_ |
| flag for multicast flows | |
Detailed Description
H-ARQ RX buffer for D2D: messages coming from phy are stored in H-ARQ RX buffer. When a new PDU is inserted, it is in EVALUATING state meaning that the hardware is checking its correctness. A feedback is sent after the PDU has been evaluated (HARQ_FB_EVALUATION_INTERVAL), and in case of ACK the PDU moves to CORRECT state, else it is dropped from the process. The operations of checking if a PDU is ready for feedback and if it is in correct state are done in the extractCorrectPdu method which must be called at every TTI (it must be part of the MAC main loop).
Member Function Documentation
◆ sendFeedback()
|
overrideprotectedvirtual |
Checks for all processes if the PDU has been evaluated and sends feedback if affirmative.
Reimplemented from LteHarqBufferRx.
◆ insertPdu()
|
overridevirtual |
Insertion of a new PDU coming from PHY layer into RX H-ARQ buffer.
- Parameters
-
PDU to be inserted
Reimplemented from LteHarqBufferRx.
◆ extractCorrectPdus()
|
overridevirtual |
Sends feedback for all processes which are older than HARQ_FB_EVALUATION_INTERVAL, then extracts the PDU in correct state (if any)
- Returns
- uncorrupted PDUs or empty list if none
Reimplemented from LteHarqBufferRx.
Generated by