예제 #1
0
static void qdr_global_stats_request_CT(qdr_core_t *core, qdr_action_t *action, bool discard)
{
    qdr_global_stats_t *stats = action->args.stats_request.stats;
    if (stats) {
        stats->addrs = DEQ_SIZE(core->addrs);
        stats->links = DEQ_SIZE(core->open_links);
        stats->routers = DEQ_SIZE(core->routers);
        stats->connections = DEQ_SIZE(core->open_connections);
        stats->link_routes = DEQ_SIZE(core->link_routes);
        stats->auto_links = DEQ_SIZE(core->auto_links);
        stats->presettled_deliveries = core->presettled_deliveries;
        stats->dropped_presettled_deliveries = core->dropped_presettled_deliveries;
        stats->accepted_deliveries = core->accepted_deliveries;
        stats->rejected_deliveries = core->rejected_deliveries;
        stats->released_deliveries = core->released_deliveries;
        stats->modified_deliveries = core->modified_deliveries;
        stats->deliveries_ingress = core->deliveries_ingress;
        stats->deliveries_egress = core->deliveries_egress;
        stats->deliveries_transit = core->deliveries_transit;
        stats->deliveries_ingress_route_container = core->deliveries_ingress_route_container;
        stats->deliveries_egress_route_container = core->deliveries_egress_route_container;
        stats->deliveries_delayed_1sec = core->deliveries_delayed_1sec;
        stats->deliveries_delayed_1sec = core->deliveries_delayed_10sec;
        stats->deliveries_redirected_to_fallback = core->deliveries_redirected;
    }
    qdr_general_work_t *work = qdr_general_work(qdr_post_global_stats_response);
    work->stats_handler = action->args.stats_request.handler;
    work->context = action->args.stats_request.context;
    qdr_post_general_work_CT(core, work);
}
예제 #2
0
void qdr_post_link_lost_CT(qdr_core_t *core, int link_maskbit)
{
    qdr_general_work_t *work = qdr_general_work(qdr_do_link_lost);
    work->maskbit = link_maskbit;
    qdr_post_general_work_CT(core, work);
}
예제 #3
0
void qdr_post_mobile_removed_CT(qdr_core_t *core, const char *address_hash)
{
    qdr_general_work_t *work = qdr_general_work(qdr_do_mobile_removed);
    work->field = qdr_field(address_hash);
    qdr_post_general_work_CT(core, work);
}