fixup for Osmocom_CTRL_Functions: rate counters in bulk
At the time of writing Ief0d9b096feeee7d37b5f2429dd3e80de0161806 I wasn't aware of the 'inout' keyword, which allows to pass the counter list by reference. Rather modify the counter lists in-place. Instead of requiring list := f_counter_name_vals_add(list, ...) rather implement by directly modifying list: f_counter_name_vals_add(list, ...) Change-Id: I85ac56b042fe4bb1db392c1f451c8e900582cc2a
This commit is contained in:
parent
22c3f79c98
commit
9656e923bf
|
@ -197,7 +197,7 @@ private function f_ctrs_msc_init(integer mscs_count := NUM_MSC, CounterNameVals
|
|||
}
|
||||
|
||||
private function f_ctrs_msc_add(integer msc_nr, charstring countername, integer val := 1) runs on test_CT {
|
||||
g_ctr_msc := f_counter_name_vals_list_add(g_ctr_msc, msc_nr, countername, val);
|
||||
f_counter_name_vals_list_add(g_ctr_msc, msc_nr, countername, val);
|
||||
}
|
||||
|
||||
/* f_ctrs_msc_init();
|
||||
|
|
|
@ -222,12 +222,12 @@ module Osmocom_CTRL_Functions {
|
|||
}
|
||||
|
||||
/* In a list of one instance's counters, increment a specifically named counter. */
|
||||
function f_counter_name_vals_add(CounterNameVals vals, charstring countername, integer val := 1)
|
||||
return CounterNameVals{
|
||||
function f_counter_name_vals_add(inout CounterNameVals vals, charstring countername, integer val := 1)
|
||||
{
|
||||
for (var integer i := 0; i < lengthof(vals); i := i + 1) {
|
||||
if (vals[i].name == countername) {
|
||||
vals[i].val := vals[i].val + val;
|
||||
return vals;
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* name not found, append */
|
||||
|
@ -235,15 +235,13 @@ module Osmocom_CTRL_Functions {
|
|||
name := countername,
|
||||
val := val
|
||||
}
|
||||
return vals;
|
||||
}
|
||||
|
||||
/* In a list of several instances' counters, increment a specific instance's specifically named counter. */
|
||||
function f_counter_name_vals_list_add(CounterNameValsList vals, integer instance_nr,
|
||||
function f_counter_name_vals_list_add(inout CounterNameValsList vals, integer instance_nr,
|
||||
charstring countername, integer val := 1)
|
||||
return CounterNameValsList {
|
||||
vals[instance_nr] := f_counter_name_vals_add(vals[instance_nr], countername, val);
|
||||
return vals;
|
||||
{
|
||||
f_counter_name_vals_add(vals[instance_nr], countername, val);
|
||||
}
|
||||
|
||||
/* For a specific instance, call f_counter_name_vals_get() and compare with expected counter values.
|
||||
|
|
Loading…
Reference in New Issue