|
|
| 1799 |
if (m_harqOn == true) |
1801 |
if (m_harqOn == true) |
| 1800 |
{ |
1802 |
{ |
| 1801 |
// Process UL HARQ feedback |
1803 |
// Process UL HARQ feedback |
| 1802 |
// update UL HARQ proc id |
|
|
| 1803 |
std::map <uint16_t, uint8_t>::iterator itProcId; |
| 1804 |
for (itProcId = m_ulHarqCurrentProcessId.begin (); itProcId != m_ulHarqCurrentProcessId.end (); itProcId++) |
| 1805 |
{ |
| 1806 |
(*itProcId).second = ((*itProcId).second + 1) % HARQ_PROC_NUM; |
| 1807 |
} |
| 1808 |
|
| 1809 |
for (uint16_t i = 0; i < params.m_ulInfoList.size (); i++) |
1804 |
for (uint16_t i = 0; i < params.m_ulInfoList.size (); i++) |
| 1810 |
{ |
1805 |
{ |
| 1811 |
if (params.m_ulInfoList.at (i).m_receptionStatus == UlInfoListElement_s::NotOk) |
1806 |
if (params.m_ulInfoList.at (i).m_receptionStatus == UlInfoListElement_s::NotOk) |
| 1812 |
{ |
1807 |
{ |
| 1813 |
// retx correspondent block: retrieve the UL-DCI |
1808 |
// retx correspondent block: retrieve the UL-DCI |
| 1814 |
uint16_t rnti = params.m_ulInfoList.at (i).m_rnti; |
1809 |
uint16_t rnti = params.m_ulInfoList.at (i).m_rnti; |
| 1815 |
itProcId = m_ulHarqCurrentProcessId.find (rnti); |
1810 |
std::map <uint16_t, uint8_t>::iterator itProcId = m_ulHarqCurrentProcessId.find (rnti); |
| 1816 |
if (itProcId == m_ulHarqCurrentProcessId.end ()) |
1811 |
if (itProcId == m_ulHarqCurrentProcessId.end ()) |
| 1817 |
{ |
1812 |
{ |
| 1818 |
NS_LOG_ERROR ("No info find in HARQ buffer for UE (might change eNB) " << rnti); |
1813 |
NS_LOG_ERROR ("No info find in HARQ buffer for UE (might change eNB) " << rnti); |