diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-05-30 11:14:31 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-01-12 03:28:14 +0100 |
commit | 91398f763e303c8202d858368bf11539904ee042 (patch) | |
tree | 422301950a4f78681cf3f81389def17edc128af0 /src | |
parent | d5161dd04fcaf764ff583fddb5cb3c23aa5cb02b (diff) |
HO: Add function to count currently ongoing handovers to a given BTS
In order to keep processing power at BTS at a defined level, the handover
decision might want to limit maximum number of slots that require RACH
detection.
Change-Id: I8908e37fe0d8d2eda906cc6301ba0969b25a5575
Diffstat (limited to 'src')
-rw-r--r-- | src/libbsc/handover_logic.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libbsc/handover_logic.c b/src/libbsc/handover_logic.c index 4c741073b..684f5b04f 100644 --- a/src/libbsc/handover_logic.c +++ b/src/libbsc/handover_logic.c @@ -398,3 +398,21 @@ static __attribute__((constructor)) void on_dso_load_ho_logic(void) { osmo_signal_register_handler(SS_LCHAN, ho_logic_sig_cb, NULL); } + +/* Count number of currently ongoing handovers + * inter_cell: if true, count only handovers between two cells. If false, count only handovers within one + * cell. */ +int bsc_ho_count(struct gsm_bts *bts, bool inter_cell) +{ + struct bsc_handover *ho; + int count = 0; + + llist_for_each_entry(ho, &bsc_handovers, list) { + if (ho->inter_cell != inter_cell) + continue; + if (ho->new_lchan->ts->trx->bts == bts) + count++; + } + + return count; +} |