|
Ripples 1.0
High Performant Software Architecture For Transaction Processing
|
#include <conn.h>

Data Fields | |
| unsigned int | vector_len |
| struct mmsghdr * | read_vector |
| unsigned int | read_vector_count |
| query_t * | queries |
| struct mmsghdr * | write_vector |
| unsigned int | write_vector_write_index |
| unsigned int | write_vector_count |
Structure holds data specific to UDP listener connection.
| query_t* conn_udp_s::queries |
Array where queries are parsed into.
| struct mmsghdr* conn_udp_s::read_vector |
Vector (array) of mmsg to read data into.
| unsigned int conn_udp_s::read_vector_count |
Number of active entries in read vector.
| unsigned int conn_udp_s::vector_len |
Size (length) of arrays: read_vector, queries, 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.
| unsigned int conn_udp_s::write_vector_count |
Number of active entries in write vector starting with write_vector_write_index (see above comment).
| 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).