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

Data Fields | ||
| uint64_t | cid | |
| uint8_t | lc: 1 | |
| uint8_t | proto: 1 | |
| uint8_t | ip_version: 1 | |
| uint8_t | waiting_for_read: 1 | |
| uint8_t | waiting_for_write: 1 | |
| uint8_t | in_read_queue: 1 | |
| uint8_t | in_write_queue: 1 | |
| uint8_t | in_release_queue: 1 | |
| int | fd | |
| union { | ||
| conn_udp_t * udp | ||
| conn_tcp_t * tcp | ||
| } | conn | |
Private Attributes | |
| UT_hash_handle | hh |
| struct conn_s * | read_q_handle |
| struct conn_s * | write_q_handle |
| struct conn_s * | gen_q_handle |
Structure holds data common to TCP and UDP connections.
| uint64_t conn_s::cid |
Connection ID. While it is set for all connections, it is only used for TCP connections.
| union { ... } conn_s::conn |
Holds either TCP or UDP specific data depending on connection protocol.
| int conn_s::fd |
Socket descriptor this connection is associated with.
|
private |
handle for general queues: parse, resolve, log.
|
private |
LRU cache handle. Only used for TCP connections.
| uint8_t conn_s::in_read_queue |
Flag indicating if connection object is in read queue.
| uint8_t conn_s::in_release_queue |
Flag indicating if connection object is in release queue. Only applies to TCP connections.
| uint8_t conn_s::in_write_queue |
Flag indicating if connection object is in write queue.
| uint8_t conn_s::ip_version |
Flag indicating if this conn is: 0=IPv4, 1=IPv6.
| uint8_t conn_s::lc |
Flag indicating if 0=listener, or 1=connection(only applies to TCP).
| uint8_t conn_s::proto |
Flag indicating protocol: 0=UDP, 1=TCP.
|
private |
handle for read queue.
| uint8_t conn_s::waiting_for_read |
Flag indicating if connection object is waiting fore socket to become readable.
| uint8_t conn_s::waiting_for_write |
Flag indicating if connection object is waiting fore socket to become writable.
|
private |
handle for write queue.