The LteHarqPhy class implements the HARQ functionalities related to PHY layer (i.e., decodification buffers for incremental redundancy management) More...
#include "lte-harq-phy.h"
Public Member Functions | |
LteHarqPhy () | |
~LteHarqPhy () | |
void | ClearDlHarqBuffer (uint16_t rnti) |
Clear the downlink HARQ buffer. More... | |
double | GetAccumulatedMiDl (uint8_t harqProcId, uint8_t layer) |
Return the cumulated MI of the HARQ procId in case of retransmissions for DL (asynchronous) More... | |
double | GetAccumulatedMiUl (uint16_t rnti) |
Return the cumulated MI of the HARQ procId in case of retransmissions for UL (synchronous) More... | |
HarqProcessInfoList_t | GetHarqProcessInfoDl (uint8_t harqProcId, uint8_t layer) |
Return the info of the HARQ procId in case of retransmissions for DL (asynchronous) More... | |
HarqProcessInfoList_t | GetHarqProcessInfoUl (uint16_t rnti, uint8_t harqProcId) |
Return the info of the HARQ procId in case of retransmissions for UL (asynchronous) More... | |
void | ResetDlHarqProcessStatus (uint8_t id) |
Reset the info associated to the decodification of an HARQ process for DL (asynchronous) More... | |
void | ResetUlHarqProcessStatus (uint16_t rnti, uint8_t id) |
Reset the info associated to the decodification of an HARQ process for DL (asynchronous) More... | |
void | SubframeIndication (uint32_t frameNo, uint32_t subframeNo) |
Subframe Indication function. More... | |
void | UpdateDlHarqProcessStatus (uint8_t id, uint8_t layer, double mi, uint16_t infoBytes, uint16_t codeBytes) |
Update the Info associated to the decodification of an HARQ process for DL (asynchronous) More... | |
void | UpdateUlHarqProcessStatus (uint16_t rnti, double mi, uint16_t infoBytes, uint16_t codeBytes) |
Update the MI value associated to the decodification of an HARQ process for DL (asynchronous) More... | |
Public Member Functions inherited from ns3::SimpleRefCount< LteHarqPhy > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Private Attributes | |
std::vector< std::vector< HarqProcessInfoList_t > > | m_miDlHarqProcessesInfoMap |
MI DL HARQ processes info map. More... | |
std::map< uint16_t, std::vector< HarqProcessInfoList_t > > | m_miUlHarqProcessesInfoMap |
MI UL HARQ processes info map. More... | |
The LteHarqPhy class implements the HARQ functionalities related to PHY layer (i.e., decodification buffers for incremental redundancy management)
Definition at line 52 of file lte-harq-phy.h.
ns3::LteHarqPhy::LteHarqPhy | ( | ) |
Definition at line 33 of file lte-harq-phy.cc.
References m_miDlHarqProcessesInfoMap.
ns3::LteHarqPhy::~LteHarqPhy | ( | ) |
Definition at line 44 of file lte-harq-phy.cc.
References m_miDlHarqProcessesInfoMap, and m_miUlHarqProcessesInfoMap.
void ns3::LteHarqPhy::ClearDlHarqBuffer | ( | uint16_t | rnti | ) |
Clear the downlink HARQ buffer.
rnti | the RNTI of the UE |
Definition at line 214 of file lte-harq-phy.cc.
References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
double ns3::LteHarqPhy::GetAccumulatedMiDl | ( | uint8_t | harqProcId, |
uint8_t | layer | ||
) |
Return the cumulated MI of the HARQ procId in case of retransmissions for DL (asynchronous)
harqProcId | the HARQ proc id |
layer | layer no. (for MIMO spatial multiplexing) |
Definition at line 65 of file lte-harq-phy.cc.
References list, m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
double ns3::LteHarqPhy::GetAccumulatedMiUl | ( | uint16_t | rnti | ) |
Return the cumulated MI of the HARQ procId in case of retransmissions for UL (synchronous)
rnti | the RNTI of the transmitter |
Definition at line 85 of file lte-harq-phy.cc.
References list, m_miUlHarqProcessesInfoMap, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
HarqProcessInfoList_t ns3::LteHarqPhy::GetHarqProcessInfoDl | ( | uint8_t | harqProcId, |
uint8_t | layer | ||
) |
Return the info of the HARQ procId in case of retransmissions for DL (asynchronous)
harqProcId | the HARQ proc id |
layer | layer no. (for MIMO spatial multiplexing) |
Definition at line 78 of file lte-harq-phy.cc.
References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
HarqProcessInfoList_t ns3::LteHarqPhy::GetHarqProcessInfoUl | ( | uint16_t | rnti, |
uint8_t | harqProcId | ||
) |
Return the info of the HARQ procId in case of retransmissions for UL (asynchronous)
rnti | the RNTI of the transmitter |
harqProcId | the HARQ proc id |
Definition at line 101 of file lte-harq-phy.cc.
References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
void ns3::LteHarqPhy::ResetDlHarqProcessStatus | ( | uint8_t | id | ) |
Reset the info associated to the decodification of an HARQ process for DL (asynchronous)
id | the HARQ proc id |
Definition at line 141 of file lte-harq-phy.cc.
References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
void ns3::LteHarqPhy::ResetUlHarqProcessStatus | ( | uint16_t | rnti, |
uint8_t | id | ||
) |
Reset the info associated to the decodification of an HARQ process for DL (asynchronous)
rnti | the RNTI of the transmitter |
id | the HARQ proc id |
Definition at line 195 of file lte-harq-phy.cc.
References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
void ns3::LteHarqPhy::SubframeIndication | ( | uint32_t | frameNo, |
uint32_t | subframeNo | ||
) |
Subframe Indication function.
frameNo | the frame number |
subframeNo | the subframe number |
Definition at line 51 of file lte-harq-phy.cc.
References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
void ns3::LteHarqPhy::UpdateDlHarqProcessStatus | ( | uint8_t | id, |
uint8_t | layer, | ||
double | mi, | ||
uint16_t | infoBytes, | ||
uint16_t | codeBytes | ||
) |
Update the Info associated to the decodification of an HARQ process for DL (asynchronous)
id | the HARQ proc id |
layer | layer no. (for MIMO spatial multiplexing) |
mi | the new MI |
infoBytes | the no. of bytes of info |
codeBytes | the total no. of bytes txed |
Definition at line 121 of file lte-harq-phy.cc.
References ns3::HarqProcessInfoElement_t::m_codeBits, ns3::HarqProcessInfoElement_t::m_infoBits, ns3::HarqProcessInfoElement_t::m_mi, m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
void ns3::LteHarqPhy::UpdateUlHarqProcessStatus | ( | uint16_t | rnti, |
double | mi, | ||
uint16_t | infoBytes, | ||
uint16_t | codeBytes | ||
) |
Update the MI value associated to the decodification of an HARQ process for DL (asynchronous)
rnti | the RNTI of the transmitter |
mi | the new MI |
infoBytes | the no. of bytes of info |
codeBytes | the total no. of bytes txed |
Definition at line 151 of file lte-harq-phy.cc.
References list, ns3::HarqProcessInfoElement_t::m_codeBits, ns3::HarqProcessInfoElement_t::m_infoBits, ns3::HarqProcessInfoElement_t::m_mi, m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
|
private |
MI DL HARQ processes info map.
Definition at line 152 of file lte-harq-phy.h.
Referenced by LteHarqPhy(), ~LteHarqPhy(), ClearDlHarqBuffer(), GetAccumulatedMiDl(), GetHarqProcessInfoDl(), ResetDlHarqProcessStatus(), and UpdateDlHarqProcessStatus().
|
private |
MI UL HARQ processes info map.
Definition at line 154 of file lte-harq-phy.h.
Referenced by ~LteHarqPhy(), GetAccumulatedMiUl(), GetHarqProcessInfoUl(), ResetUlHarqProcessStatus(), SubframeIndication(), and UpdateUlHarqProcessStatus().