A Discrete-Event Network Simulator
API
ns3::LteHarqPhy Class Reference

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"

+ Inheritance diagram for ns3::LteHarqPhy:
+ Collaboration diagram for ns3::LteHarqPhy:

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...
 
SimpleRefCountoperator= (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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ LteHarqPhy()

ns3::LteHarqPhy::LteHarqPhy ( )

Definition at line 33 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap.

◆ ~LteHarqPhy()

ns3::LteHarqPhy::~LteHarqPhy ( )

Definition at line 44 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap, and m_miUlHarqProcessesInfoMap.

Member Function Documentation

◆ ClearDlHarqBuffer()

void ns3::LteHarqPhy::ClearDlHarqBuffer ( uint16_t  rnti)

Clear the downlink HARQ buffer.

Parameters
rntithe RNTI of the UE

Definition at line 214 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ GetAccumulatedMiDl()

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)

Parameters
harqProcIdthe HARQ proc id
layerlayer no. (for MIMO spatial multiplexing)
Returns
the MI accumulated

Definition at line 65 of file lte-harq-phy.cc.

References list, m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ GetAccumulatedMiUl()

double ns3::LteHarqPhy::GetAccumulatedMiUl ( uint16_t  rnti)

Return the cumulated MI of the HARQ procId in case of retransmissions for UL (synchronous)

Parameters
rntithe RNTI of the transmitter
Returns
the MI accumulated

Definition at line 85 of file lte-harq-phy.cc.

References list, m_miUlHarqProcessesInfoMap, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

◆ GetHarqProcessInfoDl()

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)

Parameters
harqProcIdthe HARQ proc id
layerlayer no. (for MIMO spatial multiplexing)
Returns
the vector of the info related to HARQ proc Id

Definition at line 78 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ GetHarqProcessInfoUl()

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)

Parameters
rntithe RNTI of the transmitter
harqProcIdthe HARQ proc id
Returns
the vector of the info related to HARQ proc Id

Definition at line 101 of file lte-harq-phy.cc.

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ ResetDlHarqProcessStatus()

void ns3::LteHarqPhy::ResetDlHarqProcessStatus ( uint8_t  id)

Reset the info associated to the decodification of an HARQ process for DL (asynchronous)

Parameters
idthe HARQ proc id

Definition at line 141 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ ResetUlHarqProcessStatus()

void ns3::LteHarqPhy::ResetUlHarqProcessStatus ( uint16_t  rnti,
uint8_t  id 
)

Reset the info associated to the decodification of an HARQ process for DL (asynchronous)

Parameters
rntithe RNTI of the transmitter
idthe HARQ proc id

Definition at line 195 of file lte-harq-phy.cc.

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ SubframeIndication()

void ns3::LteHarqPhy::SubframeIndication ( uint32_t  frameNo,
uint32_t  subframeNo 
)

Subframe Indication function.

Parameters
frameNothe frame number
subframeNothe subframe number

Definition at line 51 of file lte-harq-phy.cc.

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ UpdateDlHarqProcessStatus()

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)

Parameters
idthe HARQ proc id
layerlayer no. (for MIMO spatial multiplexing)
mithe new MI
infoBytesthe no. of bytes of info
codeBytesthe 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.

◆ UpdateUlHarqProcessStatus()

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)

Parameters
rntithe RNTI of the transmitter
mithe new MI
infoBytesthe no. of bytes of info
codeBytesthe 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.

Member Data Documentation

◆ m_miDlHarqProcessesInfoMap

std::vector<std::vector<HarqProcessInfoList_t> > ns3::LteHarqPhy::m_miDlHarqProcessesInfoMap
private

◆ m_miUlHarqProcessesInfoMap

std::map<uint16_t, std::vector<HarqProcessInfoList_t> > ns3::LteHarqPhy::m_miUlHarqProcessesInfoMap
private

The documentation for this class was generated from the following files: