Query waiting for TCP buffer. More...
#include <outside_network.h>
Data Fields | |
struct waiting_tcp * | next_waiting |
next in waiting list. More... | |
int | on_tcp_waiting_list |
if true the item is on the tcp waiting list and next_waiting is used for that. More... | |
struct waiting_tcp * | write_wait_prev |
next and prev in query waiting list for stream connection | |
struct waiting_tcp * | write_wait_next |
int | write_wait_queued |
true if the waiting_tcp structure is on the write_wait queue | |
rbnode_type | id_node |
entry in reuse.tree_by_id, if key is NULL, not in tree, otherwise, this struct is key and sorted by ID (from waiting_tcp.id). | |
uint16_t | id |
the ID for the query; checked in reply | |
struct comm_timer * | timer |
timeout event; timer keeps running whether the query is waiting for a buffer or the tcp reply is pending | |
int | timeout |
timeout in msec | |
struct outside_network * | outnet |
the outside network it is part of | |
struct sockaddr_storage | addr |
remote address. | |
socklen_t | addrlen |
length of addr field in use. | |
uint8_t * | pkt |
The query itself, the query packet to send. More... | |
size_t | pkt_len |
length of query packet. | |
comm_point_callback_type * | cb |
callback for the timeout, error or reply to the message, or NULL if no user is waiting. More... | |
void * | cb_arg |
callback user argument | |
int | ssl_upstream |
if it uses ssl upstream | |
char * | tls_auth_name |
ref to the tls_auth_name from the serviced_query | |
int | error_count |
the packet was involved in an error, to stop looping errors | |
int | in_cb_and_decommission |
if true, the item is at the cb_and_decommission stage | |
Query waiting for TCP buffer.
struct waiting_tcp* waiting_tcp::next_waiting |
next in waiting list.
if on_tcp_waiting_list==0, this points to the pending_tcp structure.
Referenced by outnet_tcptimer(), outnet_waiting_tcp_list_add(), outnet_waiting_tcp_list_add_first(), outnet_waiting_tcp_list_pop(), outnet_waiting_tcp_list_remove(), outside_network_delete(), reuse_tcp_remove_serviced_keep(), serviced_delete(), serviced_tcp_callback(), tcpid_addmore(), and waiting_tcp_list_clear().
int waiting_tcp::on_tcp_waiting_list |
if true the item is on the tcp waiting list and next_waiting is used for that.
If false, the next_waiting points to the pending_tcp
Referenced by outnet_tcptimer(), outnet_waiting_tcp_list_add(), outnet_waiting_tcp_list_add_first(), outnet_waiting_tcp_list_pop(), outnet_waiting_tcp_list_remove(), serviced_delete(), serviced_tcp_callback(), and waiting_tcp_list_clear().
uint8_t* waiting_tcp::pkt |
The query itself, the query packet to send.
allocated after the waiting_tcp structure.
Referenced by outnet_tcp_cb(), outnet_tcp_take_into_use(), outnet_tcp_take_query_setup(), pending_tcp_query(), and reuse_move_writewait_away().
comm_point_callback_type* waiting_tcp::cb |
callback for the timeout, error or reply to the message, or NULL if no user is waiting.
the entry uses an ID number. a query that was written is no longer needed, but the ID number and a reply will come back and can be ignored if NULL
Referenced by reuse_tcp_remove_serviced_keep(), serviced_delete(), and waiting_tcp_callback().