Skip to content

Commit 4c6003c

Browse files
committed
sched: reduce static size of csi-measconfig
1 parent 409e575 commit 4c6003c

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

include/srsran/ran/csi_rs/csi_meas_config.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,10 +281,10 @@ struct csi_aperiodic_trigger_state {
281281
bool operator!=(const csi_aperiodic_trigger_state& rhs) const { return !(rhs == *this); }
282282
};
283283

284-
/// Used to configure the UE with a list of aperiodic trigger states. Each codepoint of the DCI field "CSI request" is
285-
/// associated with one trigger state.
284+
/// \brief Used to configure the UE with a list of aperiodic trigger states. Each codepoint of the DCI field
285+
/// "CSI request" is associated with one trigger state. List size ranges from 0 to MAX_NOF_CSI_APERIODIC_TRIGGERS.
286286
/// \remark TS 38.331, \c CSI-AperiodicTriggerStateList.
287-
using csi_aperiodic_trigger_state_list = static_vector<csi_aperiodic_trigger_state, MAX_NOF_CSI_APERIODIC_TRIGGERS>;
287+
using csi_aperiodic_trigger_state_list = std::vector<csi_aperiodic_trigger_state>;
288288

289289
/// See TS 38.331, \c CSI-SemiPersistentOnPUSCH-TriggerState.
290290
struct csi_semi_persistent_on_pusch_trigger_state {
@@ -322,7 +322,7 @@ struct csi_meas_config {
322322
std::vector<csi_report_config> csi_report_cfg_list;
323323
/// Size of CSI request field in DCI (bits). See TS 38.214, clause 5.2.1.5.1.
324324
std::optional<unsigned> report_trigger_size;
325-
std::optional<csi_aperiodic_trigger_state_list> aperiodic_trigger_state_list;
325+
csi_aperiodic_trigger_state_list aperiodic_trigger_state_list;
326326
std::optional<csi_semi_persistent_on_pusch_trigger_state_list> semi_persistent_on_pusch_trigger_state_list;
327327

328328
bool operator==(const csi_meas_config& rhs) const

lib/du/du_high/du_manager/converters/asn1_csi_meas_config_helpers.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1273,15 +1273,15 @@ void srsran::srs_du::calculate_csi_meas_config_diff(asn1::rrc_nr::csi_meas_cfg_s
12731273
out.report_trigger_size = dest.report_trigger_size.value();
12741274
}
12751275

1276-
if ((dest.aperiodic_trigger_state_list.has_value() and not src.aperiodic_trigger_state_list.has_value()) or
1277-
(dest.aperiodic_trigger_state_list.has_value() and src.aperiodic_trigger_state_list.has_value() and
1276+
if ((not dest.aperiodic_trigger_state_list.empty() and src.aperiodic_trigger_state_list.empty()) or
1277+
(not dest.aperiodic_trigger_state_list.empty() and not src.aperiodic_trigger_state_list.empty() and
12781278
dest.aperiodic_trigger_state_list != src.aperiodic_trigger_state_list)) {
12791279
out.aperiodic_trigger_state_list_present = true;
12801280
auto& ap_trigger_state_list = out.aperiodic_trigger_state_list.set_setup();
1281-
for (const auto& trigger_state : dest.aperiodic_trigger_state_list.value()) {
1281+
for (const auto& trigger_state : dest.aperiodic_trigger_state_list) {
12821282
ap_trigger_state_list.push_back(make_asn1_aperiodic_trigger_state(trigger_state));
12831283
}
1284-
} else if (src.aperiodic_trigger_state_list.has_value() and not dest.aperiodic_trigger_state_list.has_value()) {
1284+
} else if (not src.aperiodic_trigger_state_list.empty() and dest.aperiodic_trigger_state_list.empty()) {
12851285
out.aperiodic_trigger_state_list_present = true;
12861286
out.aperiodic_trigger_state_list.set_release();
12871287
}

tests/unittests/du_manager/serving_cell_config_converter_test.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,11 +1125,10 @@ TEST(serving_cell_config_converter_test, test_custom_csi_meas_cfg_conversion)
11251125

11261126
dest_csi_meas_cfg.report_trigger_size = 2;
11271127

1128-
dest_csi_meas_cfg.aperiodic_trigger_state_list.emplace();
11291128
auto associated_report_cfg_info_list =
11301129
csi_associated_report_config_info{.report_cfg_id = static_cast<csi_report_config_id_t>(1),
11311130
.res_for_channel = csi_associated_report_config_info::csi_ssb_resource_set{1}};
1132-
dest_csi_meas_cfg.aperiodic_trigger_state_list.value().push_back(
1131+
dest_csi_meas_cfg.aperiodic_trigger_state_list.push_back(
11331132
csi_aperiodic_trigger_state{.associated_report_cfg_info_list = {associated_report_cfg_info_list}});
11341133

11351134
dest_csi_meas_cfg.semi_persistent_on_pusch_trigger_state_list.emplace();

0 commit comments

Comments
 (0)