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. | |
double | GetAccumulatedMiDl (uint8_t harqProcId, uint8_t layer) |
Return the cumulated MI of the HARQ procId in case of retransmissions for DL (asynchronous) | |
double | GetAccumulatedMiUl (uint16_t rnti) |
Return the cumulated MI of the HARQ procId in case of retransmissions for UL (synchronous) | |
HarqProcessInfoList_t | GetHarqProcessInfoDl (uint8_t harqProcId, uint8_t layer) |
Return the info of the HARQ procId in case of retransmissions for DL (asynchronous) | |
HarqProcessInfoList_t | GetHarqProcessInfoUl (uint16_t rnti, uint8_t harqProcId) |
Return the info of the HARQ procId in case of retransmissions for UL (asynchronous) | |
void | ResetDlHarqProcessStatus (uint8_t id) |
Reset the info associated to the decodification of an HARQ process for DL (asynchronous) | |
void | ResetUlHarqProcessStatus (uint16_t rnti, uint8_t id) |
Reset the info associated to the decodification of an HARQ process for DL (asynchronous) | |
void | SubframeIndication (uint32_t frameNo, uint32_t subframeNo) |
Subframe Indication function. | |
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) | |
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) | |
Public Member Functions inherited from ns3::SimpleRefCount< LteHarqPhy > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Private Attributes | |
std::vector< std::vector< HarqProcessInfoList_t > > | m_miDlHarqProcessesInfoMap |
MI DL HARQ processes info map. | |
std::map< uint16_t, std::vector< HarqProcessInfoList_t > > | m_miUlHarqProcessesInfoMap |
MI UL HARQ processes info map. | |
The LteHarqPhy class implements the HARQ functionalities related to PHY layer (i.e., decodification buffers for incremental redundancy management)
Definition at line 41 of file lte-harq-phy.h.
ns3::LteHarqPhy::LteHarqPhy | ( | ) |
Definition at line 22 of file lte-harq-phy.cc.
References m_miDlHarqProcessesInfoMap.
ns3::LteHarqPhy::~LteHarqPhy | ( | ) |
Definition at line 33 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 203 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 54 of file lte-harq-phy.cc.
References 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 74 of file lte-harq-phy.cc.
References 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 67 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 90 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 130 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 184 of file lte-harq-phy.cc.
References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.
Subframe Indication function.
frameNo | the frame number |
subframeNo | the subframe number |
Definition at line 40 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 110 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 140 of file lte-harq-phy.cc.
References 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 141 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 143 of file lte-harq-phy.h.
Referenced by ~LteHarqPhy(), GetAccumulatedMiUl(), GetHarqProcessInfoUl(), ResetUlHarqProcessStatus(), SubframeIndication(), and UpdateUlHarqProcessStatus().