tcp_req_info Struct Reference

TCP request info. More...

#include <listen_dnsport.h>

Data Fields

struct comm_pointcp
 the TCP comm point for this.
 
struct sldns_bufferspool_buffer
 the buffer to use to spool reply from mesh into, it can then be copied to the result list and written.
 
int in_worker_handle
 are we in worker_handle function call (for recursion callback)
 
int is_drop
 is the comm point dropped (by worker handle).
 
int is_reply
 is the comm point set to send_reply (by mesh new client in worker handle), if so answer is available in c.buffer
 
int read_is_closed
 read channel has closed, just write pending results
 
int read_again
 read again
 
int num_open_req
 number of outstanding requests
 
struct tcp_req_open_itemopen_req_list
 list of outstanding requests
 
int num_done_req
 number of pending writeable results
 
struct tcp_req_done_itemdone_req_list
 list of pending writable result packets, malloced one at a time
 
struct comm_timerread_again_timer
 the read again timer, when the number of pipelined TCP queries is large, it waits, zero time, for a new event loop to service the remainder of the TCP traffic on the fd.
 

Detailed Description

TCP request info.

List of requests outstanding on the channel, that are asked for but not yet answered back.

Field Documentation

◆ cp

◆ spool_buffer

struct sldns_buffer* tcp_req_info::spool_buffer

the buffer to use to spool reply from mesh into, it can then be copied to the result list and written.

it is a pointer to the shared udp buffer.

Referenced by comm_point_send_reply(), mesh_new_client(), mesh_query_done(), mesh_serve_expired_callback(), reply_and_prefetch(), tcp_req_info_create(), tcp_req_info_handle_readdone(), and tcp_req_info_send_reply().

◆ is_drop

int tcp_req_info::is_drop

is the comm point dropped (by worker handle).

That means we have to disconnect the channel.

Referenced by comm_point_drop_reply(), and tcp_req_info_handle_readdone().


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