5G-LENA  nr-v3.0-29-g83cc959
The 5G/NR module for the ns-3 simulator
ns3::HarqProcess Struct Reference

The HarqProcess struct. More...

#include "nr-mac-harq-process.h"

+ Collaboration diagram for ns3::HarqProcess:

Public Types

enum  Status : uint8_t { INACTIVE = 0 , WAITING_FEEDBACK = 1 , RECEIVED_FEEDBACK = 2 }
 Status of the process. More...
 

Public Member Functions

 HarqProcess ()=default
 Default constructor.
 
 HarqProcess (bool active, Status status, uint8_t timer, const std::shared_ptr< DciInfoElementTdma > &dci)
 HarqProcess value-by-value constructor. More...
 
 HarqProcess (const HarqProcess &other)
 HarqProcess copy constructor. More...
 
void Erase ()
 Reset the Process content.
 

Public Attributes

bool m_active {false}
 False indicate that the process is not active.
 
std::shared_ptr< DciInfoElementTdmam_dciElement {}
 DCI element.
 
std::vector< RlcPduInfom_rlcPduInfo {}
 vector of RLC PDU
 
Status m_status {INACTIVE}
 Status of the process.
 
uint8_t m_timer {0}
 Timer of the process (in slot)
 

Detailed Description

The HarqProcess struct.

The struct represent a single HARQ process, identified by an ID (unfortunately the ID is not stored in the struct, but somewhere else, as it will be explained later). The process has a status (HarqProcess::Status) and could be active or inactive. Inside the process is stored a shared pointer to a DciInfoElementTdma, which contains all the information for the retransmission of the data, as well as the RLC PDU.

The HarqProcess will be stored inside the class NrMacHarqVector, which is a unordered map that maps the HARQ ID with the HARQ content (this struct).

Definition at line 31 of file nr-mac-harq-process.h.

Member Enumeration Documentation

◆ Status

enum ns3::HarqProcess::Status : uint8_t

Status of the process.

Other than the obvious meaning of the values, it is worth to state that the RECEIVED_FEEDBACK status is equivalent to "the process has received a NACK feedback". An ACKed feedback will be erased immediately (after all, it has been ACKed...). That is probably worth a name change.

Enumerator
INACTIVE 

Inactive process.

WAITING_FEEDBACK 

Data transmitted, waiting the feedback.

RECEIVED_FEEDBACK 

Received feedback (NACK)

Definition at line 41 of file nr-mac-harq-process.h.

Constructor & Destructor Documentation

◆ HarqProcess() [1/2]

ns3::HarqProcess::HarqProcess ( const HarqProcess other)
inline

HarqProcess copy constructor.

Parameters
otherother instance

Definition at line 57 of file nr-mac-harq-process.h.

◆ HarqProcess() [2/2]

ns3::HarqProcess::HarqProcess ( bool  active,
Status  status,
uint8_t  timer,
const std::shared_ptr< DciInfoElementTdma > &  dci 
)
inline

HarqProcess value-by-value constructor.

Parameters
activeIs the process active?
statusStatus of the process
timerTimer of the process (in slot)
dciDCI of the process

Definition at line 73 of file nr-mac-harq-process.h.


The documentation for this struct was generated from the following file: