src/lte/model/lte-harq-phy.cc
changeset 9355 1da2c1fd7dbb
parent 9351 6e074e67a1ad
child 9361 4b1130527bbf
equal deleted inserted replaced
9354:e49c4f5946b5 9355:1da2c1fd7dbb
   128 
   128 
   129 void
   129 void
   130 LteHarqPhy::UpdateDlHarqProcessStatus (uint8_t id, uint8_t layer, double mi, uint16_t infoBits, uint16_t codeBits)
   130 LteHarqPhy::UpdateDlHarqProcessStatus (uint8_t id, uint8_t layer, double mi, uint16_t infoBits, uint16_t codeBits)
   131 {
   131 {
   132   NS_LOG_FUNCTION (this << (uint16_t) id << mi);
   132   NS_LOG_FUNCTION (this << (uint16_t) id << mi);
       
   133   if (m_miDlHarqProcessesInfoMap.at (layer).at (id).size () == 3)  // MAX HARQ RETX
       
   134     {
       
   135       // HARQ should be disabled -> discard info
       
   136       return;
       
   137     }
   133   HarqProcessInfoElement_t el;
   138   HarqProcessInfoElement_t el;
   134   el.m_mi = mi;
   139   el.m_mi = mi;
   135   el.m_infoBits = infoBits;
   140   el.m_infoBits = infoBits;
   136   el.m_codeBits = codeBits;
   141   el.m_codeBits = codeBits;
   137   m_miDlHarqProcessesInfoMap.at (layer).at (id).push_back (el);
   142   m_miDlHarqProcessesInfoMap.at (layer).at (id).push_back (el);
   168       harqList.at (7).push_back (el);
   173       harqList.at (7).push_back (el);
   169       m_miUlHarqProcessesInfoMap.insert (std::pair <uint16_t, std::vector <HarqProcessInfoList_t> > (rnti, harqList));
   174       m_miUlHarqProcessesInfoMap.insert (std::pair <uint16_t, std::vector <HarqProcessInfoList_t> > (rnti, harqList));
   170     }
   175     }
   171   else
   176   else
   172     {
   177     {
       
   178       if ((*it).second.at (7).size () == 3) // MAX HARQ RETX
       
   179         {
       
   180           // HARQ should be disabled -> discard info
       
   181           return;
       
   182         }
   173       HarqProcessInfoElement_t el;
   183       HarqProcessInfoElement_t el;
   174       el.m_mi = mi;
   184       el.m_mi = mi;
   175       el.m_infoBits = infoBits;
   185       el.m_infoBits = infoBits;
   176       el.m_codeBits = codeBits;
   186       el.m_codeBits = codeBits;
   177       (*it).second.at (7).push_back (el);
   187       (*it).second.at (7).push_back (el);