mirror of https://github.com/getdnsapi/getdns.git
Network request submission and callback reporting
This commit is contained in:
parent
2220c1a48d
commit
f8c7d8b5d5
|
@ -691,6 +691,7 @@ _getdns_upstreams_dereference(getdns_upstreams *upstreams)
|
|||
while (upstream->finished_dnsreqs) {
|
||||
dnsreq = upstream->finished_dnsreqs;
|
||||
upstream->finished_dnsreqs = dnsreq->finished_next;
|
||||
debug_req("Destroy ", *dnsreq->netreqs);
|
||||
_getdns_context_cancel_request(dnsreq);
|
||||
}
|
||||
if (upstream->tls_session != NULL)
|
||||
|
@ -3080,6 +3081,7 @@ getdns_cancel_callback(getdns_context *context,
|
|||
|
||||
getdns_context_request_count_changed(context);
|
||||
|
||||
debug_req("CB Cancel ", *dnsreq->netreqs);
|
||||
if (dnsreq->user_callback) {
|
||||
dnsreq->context->processing = 1;
|
||||
dnsreq->user_callback(dnsreq->context, GETDNS_CALLBACK_CANCEL,
|
||||
|
@ -3095,6 +3097,7 @@ _getdns_context_request_timed_out(getdns_dns_req *dnsreq)
|
|||
{
|
||||
DEBUG_SCHED("%s(%p)\n", __FUNC__, (void *)dnsreq);
|
||||
|
||||
debug_req("CB Timeout ", *dnsreq->netreqs);
|
||||
if (dnsreq->user_callback) {
|
||||
dnsreq->context->processing = 1;
|
||||
dnsreq->user_callback(dnsreq->context, GETDNS_CALLBACK_TIMEOUT,
|
||||
|
|
19
src/debug.h
19
src/debug.h
|
@ -36,7 +36,6 @@
|
|||
#define DEBUG_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#define STUB_DEBUG_ENTRY "=> ENTRY: "
|
||||
#define STUB_DEBUG_SETUP "--- SETUP: "
|
||||
#define STUB_DEBUG_SETUP_TLS "--- SETUP(TLS): "
|
||||
|
@ -94,8 +93,26 @@
|
|||
#if defined(REQ_DEBUG) && REQ_DEBUG
|
||||
#include <time.h>
|
||||
#define DEBUG_REQ(...) DEBUG_ON(__VA_ARGS__)
|
||||
#include "gldns/wire2str.h"
|
||||
#include "rr-dict.h"
|
||||
#include "types-internal.h"
|
||||
static inline void debug_req(const char *msg, getdns_network_req *netreq)
|
||||
{
|
||||
char str[1024];
|
||||
struct timeval tv;
|
||||
uint64_t t;
|
||||
|
||||
(void) gettimeofday(&tv, NULL);
|
||||
t = tv.tv_sec * 1000 + tv.tv_usec / 1000;
|
||||
t = t >= netreq->owner->expires ? 0 : netreq->owner->expires - t;
|
||||
(void) gldns_wire2str_dname_buf(netreq->owner->name,
|
||||
netreq->owner->name_len, str, sizeof(str));
|
||||
DEBUG_REQ("NETREQ %s %4"PRIu64" %s %s\n", msg, t,
|
||||
str, _getdns_rr_type_name(netreq->request_type));
|
||||
}
|
||||
#else
|
||||
#define DEBUG_REQ(...) DEBUG_OFF(__VA_ARGS__)
|
||||
#define debug_req(...) DEBUG_OFF(__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#if defined(SCHED_DEBUG) && SCHED_DEBUG
|
||||
|
|
|
@ -186,6 +186,14 @@ _getdns_check_dns_req_complete(getdns_dns_req *dns_req)
|
|||
return;
|
||||
}
|
||||
}
|
||||
#if defined(REQ_DEBUG) && REQ_DEBUG
|
||||
if (dns_req->internal_cb)
|
||||
debug_req("CB Internal", *dns_req->netreqs);
|
||||
else if (results_found)
|
||||
debug_req("CB Complete", *dns_req->netreqs);
|
||||
else
|
||||
debug_req("CB Error ", *dns_req->netreqs);
|
||||
#endif
|
||||
if (dns_req->internal_cb) {
|
||||
_getdns_context_clear_outbound_request(dns_req);
|
||||
dns_req->internal_cb(dns_req);
|
||||
|
@ -373,6 +381,8 @@ _getdns_submit_netreq(getdns_network_req *netreq, uint64_t *now_ms)
|
|||
}
|
||||
_getdns_netreq_change_state(netreq, NET_REQ_IN_FLIGHT);
|
||||
|
||||
debug_req("Submitting ", netreq);
|
||||
|
||||
#ifdef STUB_NATIVE_DNSSEC
|
||||
# ifdef DNSSEC_ROADBLOCK_AVOIDANCE
|
||||
|
||||
|
|
Loading…
Reference in New Issue