Skip to content

Commit 8f2030d

Browse files
committed
sched: extend harq_manager_test to cover multi-PUCCH per slot case
1 parent 6ed8a6b commit 8f2030d

File tree

3 files changed

+328
-44
lines changed

3 files changed

+328
-44
lines changed

lib/scheduler/ue_scheduling/cell_harq_manager.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,11 @@ dl_harq_process_view::status_update dl_harq_process_view::dl_ack_info(mac_harq_a
449449
return cell_harq_mng->dl_ack_info(cell_harq_mng->dl.harqs[harq_ref_idx], ack, pucch_snr);
450450
}
451451

452+
void dl_harq_process_view::increment_pucch_counter()
453+
{
454+
++cell_harq_mng->dl.harqs[harq_ref_idx].pucch_ack_to_receive;
455+
}
456+
452457
void ul_harq_process_view::new_retx(slot_point pusch_slot)
453458
{
454459
cell_harq_mng->new_ul_retx(cell_harq_mng->ul.harqs[harq_ref_idx], pusch_slot);

lib/scheduler/ue_scheduling/cell_harq_manager.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ class cell_harq_manager
160160
/// \brief Default timeout in slots after which the HARQ process assumes that the CRC/ACK went missing
161161
/// (implementation-defined).
162162
constexpr static unsigned DEFAULT_ACK_TIMEOUT_SLOTS = 256U;
163+
/// \brief Timeout value to use when the HARQ has been ACKed/NACKed, but it is expecting another PUCCH before being
164+
/// cleared (implementation-defined).
165+
constexpr static unsigned SHORT_ACK_TIMEOUT_DTX = 8U;
163166

164167
cell_harq_manager(unsigned max_ues = MAX_NOF_DU_UES,
165168
std::unique_ptr<harq_timeout_notifier> notifier = nullptr,
@@ -188,10 +191,6 @@ class cell_harq_manager
188191
friend class dl_harq_process_view;
189192
friend class ul_harq_process_view;
190193

191-
/// \brief Timeout value to use when the HARQ has been ACKed/NACKed, but it is expecting another PUCCH before being
192-
/// cleared (implementation-defined).
193-
constexpr static unsigned SHORT_ACK_TIMEOUT_DTX = 8U;
194-
195194
const static unsigned INVALID_HARQ = std::numeric_limits<unsigned>::max();
196195

197196
void destroy_ue(du_ue_index_t ue_idx);
@@ -261,6 +260,8 @@ class dl_harq_process_view
261260
/// \return Status update after processing the ACK info.
262261
status_update dl_ack_info(mac_harq_ack_report_status ack, std::optional<float> pucch_snr);
263262

263+
void increment_pucch_counter();
264+
264265
const grant_params& get_grant_params() const { return cell_harq_mng->dl.harqs[harq_ref_idx].prev_tx_params; }
265266

266267
bool operator==(const dl_harq_process_view& other) const

0 commit comments

Comments
 (0)