#include <outside_network.h>
Public Types | |
enum | serviced_query_status { serviced_initial, serviced_query_UDP_EDNS, serviced_query_UDP, serviced_query_TCP_EDNS, serviced_query_TCP, serviced_query_PROBE_EDNS } |
current status More... | |
Data Fields | |
rbnode_t | node |
The rbtree node, key is this record. | |
uint8_t * | qbuf |
The query that needs to be answered. | |
size_t | qbuflen |
length of qbuf. | |
int | dnssec |
If an EDNS section is included, the DO/CD bit will be turned on. | |
struct sockaddr_storage | addr |
where to send it | |
socklen_t | addrlen |
length of addr field in use. | |
enum serviced_query::serviced_query_status | status |
current status | |
int | to_be_deleted |
true if serviced_query is scheduled for deletion already | |
int | retry |
number of UDP retries | |
struct timeval | last_sent_time |
time last UDP was sent | |
int | last_rtt |
rtt of last (UDP) message | |
int | edns_lame_known |
do we know edns probe status already, for UDP_EDNS queries | |
struct outside_network * | outnet |
outside network this is part of | |
struct service_callback * | cblist |
list of interested parties that need callback on results. | |
void * | pending |
the UDP or TCP query that is pending, see status which |
Contains query and destination. UDP, TCP, EDNS are all tried. complete with retries and timeouts. A number of interested parties can receive a callback.
current status
uint8_t* serviced_query::qbuf |
The query that needs to be answered.
Starts with flags u16, then qdcount, ..., including qname, qtype, qclass. Does not include EDNS record.
Referenced by lookup_serviced(), outnet_serviced_query(), serviced_callbacks(), serviced_cmp(), serviced_create(), serviced_encode(), serviced_node_del(), and serviced_udp_callback().
size_t serviced_query::qbuflen |
length of qbuf.
Referenced by lookup_serviced(), outnet_get_mem(), serviced_callbacks(), serviced_cmp(), serviced_create(), serviced_encode(), and serviced_get_mem().
If an EDNS section is included, the DO/CD bit will be turned on.
Referenced by lookup_serviced(), serviced_cmp(), serviced_create(), and serviced_encode().
socklen_t serviced_query::addrlen |
length of addr field in use.
Referenced by lookup_serviced(), serviced_callbacks(), serviced_cmp(), serviced_create(), serviced_tcp_callback(), serviced_tcp_initiate(), serviced_udp_callback(), and serviced_udp_send().
current status
variable with current status
Referenced by serviced_create(), serviced_delete(), serviced_get_mem(), serviced_tcp_callback(), serviced_tcp_initiate(), serviced_udp_callback(), and serviced_udp_send().
struct service_callback* serviced_query::cblist [read] |
list of interested parties that need callback on results.
Referenced by callback_list_find(), callback_list_remove(), outnet_get_mem(), outnet_serviced_query(), outnet_serviced_query_stop(), serviced_callbacks(), serviced_create(), serviced_get_mem(), and serviced_node_del().