waiting_tcp Struct Reference

Query waiting for TCP buffer. More...

#include <outside_network.h>

Data Fields

struct waiting_tcpnext_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_tcpwrite_wait_prev
 next and prev in query waiting list for stream connection
 
struct waiting_tcpwrite_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_timertimer
 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_networkoutnet
 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_typecb
 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
 

Detailed Description

Query waiting for TCP buffer.

Field Documentation

◆ next_waiting

◆ on_tcp_waiting_list

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().

◆ pkt

uint8_t* waiting_tcp::pkt

The query itself, the query packet to send.

allocated after the waiting_tcp structure.

Referenced by entry_to_buf(), outnet_tcp_cb(), outnet_tcp_take_into_use(), outnet_tcp_take_query_setup(), pending_tcp_query(), and reuse_move_writewait_away().

◆ cb

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().


The documentation for this struct was generated from the following file: