Example #1
0
/* getdns extension functions */
static getdns_return_t
getdns_libevent_request_count_changed(struct getdns_context* context,
    uint32_t request_count, void* eventloop_data) {
    struct event_data *edata = (struct event_data*) eventloop_data;
    request_count_changed(request_count, edata);
    return GETDNS_RETURN_GOOD;
}
Example #2
0
static void
getdns_libuv_timeout_cb(uv_timer_t* handle, int status) {
    getdns_timeout_data_t* timeout_data = (getdns_timeout_data_t*) handle->data;
    timeout_data->callback(timeout_data->userarg);
    uint32_t rc = getdns_context_get_num_pending_requests(timeout_data->context, NULL);
    struct getdns_libuv_data* uv_data =
        (struct getdns_libuv_data*) getdns_context_get_extension_data(timeout_data->context);
    request_count_changed(rc, uv_data);
}
Example #3
0
/* lib event callbacks */
static void
getdns_libevent_cb(evutil_socket_t fd, short what, void *userarg) {
    struct getdns_context* context = (struct getdns_context*) userarg;
    if (getdns_context_process_async(context) == GETDNS_RETURN_BAD_CONTEXT) {
        // context destroyed
        return;
    }
    uint32_t rc = getdns_context_get_num_pending_requests(context, NULL);
    struct event_data* ev_data =
        (struct event_data*) getdns_context_get_extension_data(context);
    request_count_changed(rc, ev_data);
}
Example #4
0
/* lib ev callbacks */
static void
getdns_libev_cb(struct ev_loop *loop, struct ev_io *handle, int revents) {
    struct getdns_context* context = (struct getdns_context*) handle->data;
    if (getdns_context_process_async(context) == GETDNS_RETURN_BAD_CONTEXT) {
        // context destroyed
        return;
    }
    uint32_t rc = getdns_context_get_num_pending_requests(context, NULL);
    struct getdns_libev_data* ev_data =
        (struct getdns_libev_data*) getdns_context_get_extension_data(context);
    request_count_changed(rc, ev_data);
}