LteHarqUnitTxD2D Class Reference¶
|
Simu5G
|
#include <LteHarqUnitTxD2D.h>
Public Member Functions | |
| LteHarqUnitTxD2D (Binder *binder, unsigned char acid, Codeword cw, LteMacBase *macOwner, LteMacBase *dstMac) | |
| bool | pduFeedback (HarqAcknowledgment fb) override |
| inet::Packet * | extractPdu () override |
| Public Member Functions inherited from LteHarqUnitTx | |
| LteHarqUnitTx (Binder *binder, unsigned char acid, Codeword cw, LteMacBase *macOwner, LteMacBase *dstMac) | |
| virtual void | insertPdu (Packet *pdu) |
| virtual void | markSelected () |
| virtual bool | isEmpty () |
| virtual bool | isReady () |
| virtual bool | selfNack () |
| virtual void | dropPdu () |
Additional Inherited Members | |
| Protected Attributes inherited from LteHarqUnitTx | |
| Packet * | pdu_ = nullptr |
| Carried sub-burst. | |
| long | pduId_ = -1 |
| Omnet ID of the pdu. | |
| int64_t | pduLength_ |
| PDU size in bytes. | |
| Codeword | cw_ |
| H-ARQ codeword identifier. | |
| unsigned char | transmissions_ = 0 |
| Number of (re)transmissions for current pdu (N.B.: values are 1,2,3,4) | |
| simtime_t | txTime_ |
| TTI at which the pdu has been transmitted. | |
Detailed Description
An LteHarqUnit is an HARQ mac pdu container, a harqBuffer is made of harq processes which are made of harq units.
LteHarqUnit manages transmissions and retransmissions. Contained PDU may be in one of four statuses:
IDLE PDU READY
TXHARQ_PDU_BUFFERED: no present locally ready for rtx TXHARQ_PDU_WAITING: no copy present not ready for tx TXHARQ_PDU_EMPTY: yes not present not ready for tx TXHARQ_PDU_SELECTED: no present will be tx
Constructor & Destructor Documentation
◆ LteHarqUnitTxD2D()
| LteHarqUnitTxD2D | ( | Binder * | binder, |
| unsigned char | acid, | ||
| Codeword | cw, | ||
| LteMacBase * | macOwner, | ||
| LteMacBase * | dstMac ) |
Constructor.
- Parameters
-
id unit identifier
Member Function Documentation
◆ pduFeedback()
|
overridevirtual |
Manages ACK/NACK.
- Parameters
-
fb ACK or NACK for this H-ARQ unit
- Returns
- true if the unit has become empty, false if it is still busy
Reimplemented from LteHarqUnitTx.
◆ extractPdu()
|
overridevirtual |
Returns the macPdu to be sent and increments transmissions_ counter.
The H-ARQ process containing this unit must call this method in order to extract the PDU the Mac layer will send. Before extraction, control info is updated with transmission counter and ndi.
Reimplemented from LteHarqUnitTx.
Generated by