#include <outside_network.h>
Data Fields | |
struct comm_base * | base |
Base for select calls. | |
uint32_t * | now_secs |
pointer to time in seconds | |
struct timeval * | now_tv |
pointer to time in microseconds | |
ldns_buffer * | udp_buff |
buffer shared by UDP connections, since there is only one datagram at any time. | |
size_t | svcd_overhead |
serviced_callbacks malloc overhead when processing multiple identical serviced queries to the same server. | |
int | use_caps_for_id |
use x20 bits to encode additional ID random bits | |
struct port_comm * | unused_fds |
linked list of available commpoints, unused file descriptors, for use as outgoing UDP ports. | |
struct port_if * | ip4_ifs |
array of outgoing IP4 interfaces | |
int | num_ip4 |
number of outgoing IP4 interfaces | |
struct port_if * | ip6_ifs |
array of outgoing IP6 interfaces | |
int | num_ip6 |
number of outgoing IP6 interfaces | |
struct pending * | udp_wait_first |
pending udp queries waiting to be sent out, waiting for fd | |
struct pending * | udp_wait_last |
last pending udp query in list | |
rbtree_t * | pending |
pending udp answers. | |
rbtree_t * | serviced |
serviced queries, sorted by qbuf, addr, dnssec | |
struct infra_cache * | infra |
host cache, pointer but not owned by outnet. | |
struct ub_randstate * | rnd |
where to get random numbers | |
struct pending_tcp ** | tcp_conns |
Array of tcp pending used for outgoing TCP connections. | |
size_t | num_tcp |
number of tcp communication points. | |
struct pending_tcp * | tcp_free |
list of tcp comm points that are free for use | |
struct waiting_tcp * | tcp_wait_first |
list of tcp queries waiting for a buffer | |
struct waiting_tcp * | tcp_wait_last |
last of waiting query list |
Contains answer-listen sockets.
ldns_buffer* outside_network::udp_buff |
buffer shared by UDP connections, since there is only one datagram at any time.
Referenced by handle_newq(), libworker_fg(), libworker_send_query(), outnet_get_mem(), outnet_send_wait_udp(), outside_network_create(), outside_network_delete(), setup_qinfo_edns(), and worker_send_query().
serviced_callbacks malloc overhead when processing multiple identical serviced queries to the same server.
Referenced by outnet_get_mem(), outside_network_create(), and serviced_callbacks().
struct port_comm* outside_network::unused_fds [read] |
linked list of available commpoints, unused file descriptors, for use as outgoing UDP ports.
cp.fd=-1 in them.
Referenced by outnet_get_mem(), outnet_send_wait_udp(), outside_network_create(), outside_network_delete(), pending_udp_query(), portcomm_loweruse(), and select_ifport().
pending udp answers.
sorted by id, addr
Referenced by outnet_get_mem(), outnet_udp_cb(), outside_network_create(), outside_network_delete(), pending_delete(), and select_id().
struct infra_cache* outside_network::infra [read] |
host cache, pointer but not owned by outnet.
Referenced by outside_network_create(), serviced_tcp_callback(), serviced_udp_callback(), and serviced_udp_send().
struct pending_tcp** outside_network::tcp_conns [read] |
Array of tcp pending used for outgoing TCP connections.
Each can be used to establish a TCP connection with a server. The file descriptors are -1 if they are free, and need to be opened for the tcp connection. Can be used for ip4 and ip6.
Referenced by create_pending_tcp(), outnet_get_mem(), and outside_network_delete().
size_t outside_network::num_tcp |
number of tcp communication points.
Referenced by create_pending_tcp(), outnet_get_mem(), outside_network_create(), and outside_network_delete().