Ripples 1.0
High Performant Software Architecture For Transaction Processing
Loading...
Searching...
No Matches
conn_udp_s Struct Reference

#include <conn.h>

Collaboration diagram for conn_udp_s:

Data Fields

unsigned int vector_len
 
struct mmsghdr * read_vector
 
unsigned int read_vector_count
 
query_tqueries
 
struct mmsghdr * write_vector
 
unsigned int write_vector_write_index
 
unsigned int write_vector_count
 

Detailed Description

Structure holds data specific to UDP listener connection.

Field Documentation

◆ queries

query_t* conn_udp_s::queries

Array where queries are parsed into.

◆ read_vector

struct mmsghdr* conn_udp_s::read_vector

Vector (array) of mmsg to read data into.

◆ read_vector_count

unsigned int conn_udp_s::read_vector_count

Number of active entries in read vector.

◆ vector_len

unsigned int conn_udp_s::vector_len

Size (length) of arrays: read_vector, queries, write_vector.

Note
Max is UIO_MAXIOV (1024), limited by Linux OS.

◆ write_vector

struct mmsghdr* conn_udp_s::write_vector

Vector (array) of mmsg to send data from. This is also vector where query responses are packed into.

◆ write_vector_count

unsigned int conn_udp_s::write_vector_count

Number of active entries in write vector starting with write_vector_write_index (see above comment).

◆ write_vector_write_index

unsigned int conn_udp_s::write_vector_write_index

Index where to start writing (sending UDP datagrams) from. At first this value is 0, then if not all data was written via call to sendmmsg(), it is updated and connection is queued back into udp write queue so another call to sendmmsg() is made this time with write_vector starting at index recorded here. This is repeated until all messages are sent (put on wire).


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