888 newRlcEl.m_logicalChannelIdentity = (*it).m_logicalChannelIdentity; |
888 newRlcEl.m_logicalChannelIdentity = (*it).m_logicalChannelIdentity; |
889 // NS_LOG_DEBUG (this << "LCID " << (uint32_t) newRlcEl.m_logicalChannelIdentity << " size " << rlcPduSize << " ID " << (*it).m_rnti << " layer " << (uint16_t)j); |
889 // NS_LOG_DEBUG (this << "LCID " << (uint32_t) newRlcEl.m_logicalChannelIdentity << " size " << rlcPduSize << " ID " << (*it).m_rnti << " layer " << (uint16_t)j); |
890 newRlcEl.m_size = rlcPduSize; |
890 newRlcEl.m_size = rlcPduSize; |
891 UpdateDlRlcBufferInfo ((*it).m_rnti, newRlcEl.m_logicalChannelIdentity, rlcPduSize); |
891 UpdateDlRlcBufferInfo ((*it).m_rnti, newRlcEl.m_logicalChannelIdentity, rlcPduSize); |
892 newRlcPduLe.push_back (newRlcEl); |
892 newRlcPduLe.push_back (newRlcEl); |
893 // store RLC PDU list for HARQ |
893 if (m_harqOn == true) |
894 std::map <uint16_t, DlHarqRlcPduListBuffer_t>::iterator itRlcPdu = m_dlHarqProcessesRlcPduListBuffer.find ((*it).m_rnti); |
894 { |
895 if (itRlcPdu==m_dlHarqProcessesRlcPduListBuffer.end ()) |
895 // store RLC PDU list for HARQ |
896 { |
896 std::map <uint16_t, DlHarqRlcPduListBuffer_t>::iterator itRlcPdu = m_dlHarqProcessesRlcPduListBuffer.find ((*it).m_rnti); |
897 NS_FATAL_ERROR ("Unable to find RlcPdcList in HARQ buffer for RNTI " << (*it).m_rnti); |
897 if (itRlcPdu==m_dlHarqProcessesRlcPduListBuffer.end ()) |
898 } |
898 { |
899 // NS_ASSERT_MSG ((*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () <= 1, " MIMO ERR 4" <<(*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () ); |
899 NS_FATAL_ERROR ("Unable to find RlcPdcList in HARQ buffer for RNTI " << (*it).m_rnti); |
900 (*itRlcPdu).second.at (j).at (newDci.m_harqProcess).push_back (newRlcEl); |
900 } |
901 // NS_ASSERT_MSG ((*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () <= 1, " MIMO ERR 3" <<(*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () ); |
901 // NS_ASSERT_MSG ((*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () <= 1, " MIMO ERR 4" <<(*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () ); |
|
902 (*itRlcPdu).second.at (j).at (newDci.m_harqProcess).push_back (newRlcEl); |
|
903 // NS_ASSERT_MSG ((*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () <= 1, " MIMO ERR 3" <<(*itRlcPdu).second.at (j).at (newDci.m_harqProcess).size () ); |
|
904 } |
902 |
905 |
903 } |
906 } |
904 newEl.m_rlcPduList.push_back (newRlcPduLe); |
907 newEl.m_rlcPduList.push_back (newRlcPduLe); |
905 it++; |
908 it++; |
906 if (it == m_rlcBufferReq.end ()) |
909 if (it == m_rlcBufferReq.end ()) |
1266 uldci.m_dai = 1; // TDD parameter |
1269 uldci.m_dai = 1; // TDD parameter |
1267 uldci.m_freqHopping = 0; |
1270 uldci.m_freqHopping = 0; |
1268 uldci.m_pdcchPowerOffset = 0; // not used |
1271 uldci.m_pdcchPowerOffset = 0; // not used |
1269 ret.m_dciList.push_back (uldci); |
1272 ret.m_dciList.push_back (uldci); |
1270 // store DCI for HARQ_PERIOD |
1273 // store DCI for HARQ_PERIOD |
1271 itProcId = m_ulHarqCurrentProcessId.find (uldci.m_rnti); |
1274 uint8_t harqId = 0; |
1272 if (itProcId==m_ulHarqCurrentProcessId.end ()) |
1275 if (m_harqOn==true) |
1273 { |
1276 { |
1274 NS_FATAL_ERROR ("No info find in HARQ buffer for UE " << uldci.m_rnti); |
1277 itProcId = m_ulHarqCurrentProcessId.find (uldci.m_rnti); |
1275 } |
1278 if (itProcId==m_ulHarqCurrentProcessId.end ()) |
1276 uint8_t harqId = (*itProcId).second; |
1279 { |
1277 std::map <uint16_t, UlHarqProcessesDciBuffer_t>::iterator itDci = m_ulHarqProcessesDciBuffer.find (uldci.m_rnti); |
1280 NS_FATAL_ERROR ("No info find in HARQ buffer for UE " << uldci.m_rnti); |
1278 if (itDci==m_ulHarqProcessesDciBuffer.end ()) |
1281 } |
1279 { |
1282 harqId = (*itProcId).second; |
1280 NS_FATAL_ERROR ("Unable to find RNTI entry in UL DCI HARQ buffer for RNTI " << uldci.m_rnti); |
1283 std::map <uint16_t, UlHarqProcessesDciBuffer_t>::iterator itDci = m_ulHarqProcessesDciBuffer.find (uldci.m_rnti); |
1281 } |
1284 if (itDci==m_ulHarqProcessesDciBuffer.end ()) |
1282 (*itDci).second.at (harqId) = uldci; |
1285 { |
|
1286 NS_FATAL_ERROR ("Unable to find RNTI entry in UL DCI HARQ buffer for RNTI " << uldci.m_rnti); |
|
1287 } |
|
1288 (*itDci).second.at (harqId) = uldci; |
|
1289 } |
1283 NS_LOG_DEBUG (this << " UL Allocation - UE " << (*it).first << " startPRB " << (uint32_t)uldci.m_rbStart << " nPRB " << (uint32_t)uldci.m_rbLen << " CQI " << cqi << " MCS " << (uint32_t)uldci.m_mcs << " TBsize " << uldci.m_tbSize << " harqId " << (uint16_t)harqId); |
1290 NS_LOG_DEBUG (this << " UL Allocation - UE " << (*it).first << " startPRB " << (uint32_t)uldci.m_rbStart << " nPRB " << (uint32_t)uldci.m_rbLen << " CQI " << cqi << " MCS " << (uint32_t)uldci.m_mcs << " TBsize " << uldci.m_tbSize << " harqId " << (uint16_t)harqId); |
1284 |
1291 |
1285 it++; |
1292 it++; |
1286 if (it == m_ceBsrRxed.end ()) |
1293 if (it == m_ceBsrRxed.end ()) |
1287 { |
1294 { |