equal
deleted
inserted
replaced
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); |