diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-04-26 15:52:34 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-05-02 19:19:15 +0200 |
commit | 66e14cdda6c3ef57d0d9e1964cd9f3b81a764bc4 (patch) | |
tree | 4296652e162f4b4fb06703bc36aa690bf4bcfa3c /openbsc | |
parent | 5a081bbb1d4b8974c160a2ddaf544a691c78e187 (diff) |
paging: Provide the number of pending requests
Address the FIXME and take code from the on-waves/bsc-master
branch. This will count the number of requests.
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/include/openbsc/paging.h | 3 | ||||
-rw-r--r-- | openbsc/src/libbsc/bsc_vty.c | 3 | ||||
-rw-r--r-- | openbsc/src/libbsc/paging.c | 13 |
3 files changed, 18 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/paging.h b/openbsc/include/openbsc/paging.h index f4a7aab5b..991c4ec7c 100644 --- a/openbsc/include/openbsc/paging.h +++ b/openbsc/include/openbsc/paging.h @@ -65,4 +65,7 @@ void paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *subscr, /* update paging load */ void paging_update_buffer_space(struct gsm_bts *bts, uint16_t); +/* pending paging requests */ +unsigned int paging_pending_requests_nr(struct gsm_bts *bts); + #endif diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c index e052bdae7..5a4bd6e9e 100644 --- a/openbsc/src/libbsc/bsc_vty.c +++ b/openbsc/src/libbsc/bsc_vty.c @@ -258,7 +258,8 @@ static void bts_dump_vty(struct vty *vty, struct gsm_bts *bts) net_dump_nmstate(vty, &bts->nm_state); vty_out(vty, " Site Mgr NM State: "); net_dump_nmstate(vty, &bts->site_mgr.nm_state); - vty_out(vty, " Paging: FIXME pending requests, %u free slots%s", + vty_out(vty, " Paging: %u pending requests, %u free slots%s", + paging_pending_requests_nr(bts), bts->paging.available_slots, VTY_NEWLINE); if (is_ipaccess_bts(bts)) { vty_out(vty, " OML Link state: %s.%s", diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c index c61807462..a33614467 100644 --- a/openbsc/src/libbsc/paging.c +++ b/openbsc/src/libbsc/paging.c @@ -403,3 +403,16 @@ void paging_update_buffer_space(struct gsm_bts *bts, uint16_t free_slots) bts->paging.available_slots = free_slots; paging_schedule_if_needed(&bts->paging); } + +unsigned int paging_pending_requests_nr(struct gsm_bts *bts) +{ + unsigned int requests = 0; + struct gsm_paging_request *req; + + paging_init_if_needed(bts); + + llist_for_each_entry(req, &bts->paging.pending_requests, entry) + ++requests; + + return requests; +} |