subscr: Show the number of pending requests on this subscriber.

This commit is contained in:
Holger Hans Peter Freyther
2010-12-28 22:12:30 +01:00
parent ffccb77df0
commit ebdd3cbd89
3 changed files with 19 additions and 3 deletions

View File

@@ -88,6 +88,8 @@ struct gsm_subscriber *subscr_active_by_tmsi(struct gsm_network *net,
struct gsm_subscriber *subscr_active_by_imsi(struct gsm_network *net,
const char *imsi);
int subscr_pending_requests(struct gsm_subscriber *subscr);
char *subscr_name(struct gsm_subscriber *subscr);
int subscr_purge_inactive(struct gsm_network *net);

View File

@@ -345,3 +345,14 @@ void subscr_update_from_db(struct gsm_subscriber *sub)
{
db_subscriber_update(sub);
}
int subscr_pending_requests(struct gsm_subscriber *sub)
{
struct subscr_request *req;
int pending = 0;
llist_for_each_entry(req, &sub->requests, entry)
pending += 1;
return pending;
}

View File

@@ -49,7 +49,7 @@
extern struct gsm_network *gsmnet_from_vty(struct vty *v);
static void subscr_dump_full_vty(struct vty *vty, struct gsm_subscriber *subscr)
static void subscr_dump_full_vty(struct vty *vty, struct gsm_subscriber *subscr, int pending)
{
int rc;
struct gsm_auth_info ainfo;
@@ -95,6 +95,9 @@ static void subscr_dump_full_vty(struct vty *vty, struct gsm_subscriber *subscr)
hexdump(atuple.kc, sizeof(atuple.kc)),
VTY_NEWLINE);
}
if (pending)
vty_out(vty, " Pending: %d%s",
subscr_pending_requests(subscr), VTY_NEWLINE);
vty_out(vty, " Use count: %u%s", subscr->use_count, VTY_NEWLINE);
}
@@ -110,7 +113,7 @@ DEFUN(show_subscr_cache,
llist_for_each_entry(subscr, &active_subscribers, entry) {
vty_out(vty, " Subscriber:%s", VTY_NEWLINE);
subscr_dump_full_vty(vty, subscr);
subscr_dump_full_vty(vty, subscr, 0);
}
return CMD_SUCCESS;
@@ -220,7 +223,7 @@ DEFUN(show_subscr,
return CMD_WARNING;
}
subscr_dump_full_vty(vty, subscr);
subscr_dump_full_vty(vty, subscr, 1);
subscr_put(subscr);