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

#include <vectorloop.h>

Collaboration diagram for vectorloop_s:

Data Fields

config_tcfg
 
uint16_t id
 
channel_bss_tresource_channel
 
channel_log_tapp_log_channel
 
channel_bss_tquery_log_channel
 
metrics_tmetrics
 
struct timespec loop_timestamp
 
int ep_fd_udp
 
int ep_fd_tcp
 
uint64_t conns_tcp_active
 
struct epoll_event * ep_events
 
conn_tlistener_udp_ipv4
 
conn_tlistener_udp_ipv6
 
conn_tlistener_tcp_ipv4
 
conn_tlistener_tcp_ipv6
 
conn_tconn_tcp_lru_cache
 
uint64_t conn_tcp_id_base
 
conn_fifo_queue_t conn_udp_read_queue
 
conn_fifo_queue_t conn_udp_write_queue
 
conn_fifo_queue_t conn_tcp_accept_conns_queue
 
conn_fifo_queue_t conn_tcp_read_queue
 
conn_fifo_queue_t conn_tcp_write_queue
 
conn_fifo_queue_t conn_tcp_release_queue
 
conn_fifo_queue_t query_parse_queue
 
conn_fifo_queue_t query_resolve_queue
 
conn_fifo_queue_t query_response_pack_queue
 
conn_fifo_queue_t query_log_queue
 
query_log_t query_log
 
uint32_t idle_count
 

Detailed Description

Structure represents a VectorLoop.

Field Documentation

◆ app_log_channel

channel_log_t* vectorloop_s::app_log_channel

Application log channel.

◆ cfg

config_t* vectorloop_s::cfg

Configuration

◆ conn_tcp_accept_conns_queue

conn_fifo_queue_t vectorloop_s::conn_tcp_accept_conns_queue

TCP accept connections queue

◆ conn_tcp_id_base

uint64_t vectorloop_s::conn_tcp_id_base

TCP connection base ID.

◆ conn_tcp_lru_cache

conn_t* vectorloop_s::conn_tcp_lru_cache

TCP connection LRU cache.

◆ conn_tcp_read_queue

conn_fifo_queue_t vectorloop_s::conn_tcp_read_queue

TCP connections read queue

◆ conn_tcp_release_queue

conn_fifo_queue_t vectorloop_s::conn_tcp_release_queue

TCP connections release queue

◆ conn_tcp_write_queue

conn_fifo_queue_t vectorloop_s::conn_tcp_write_queue

TCP connections write queue

◆ conn_udp_read_queue

conn_fifo_queue_t vectorloop_s::conn_udp_read_queue

Read queue

◆ conn_udp_write_queue

conn_fifo_queue_t vectorloop_s::conn_udp_write_queue

Write queue

◆ conns_tcp_active

uint64_t vectorloop_s::conns_tcp_active

Number of active TCP connections this vectorloop has. This count includes both IPv4 and IPv6.

◆ ep_events

struct epoll_event* vectorloop_s::ep_events

Array of epoll events submitted to epoll_wait().

◆ ep_fd_tcp

int vectorloop_s::ep_fd_tcp

epoll file descriptor for TCP connections.

◆ ep_fd_udp

int vectorloop_s::ep_fd_udp

epoll file descriptor for UDP connections.

◆ id

uint16_t vectorloop_s::id

Vectorloop ID, should be unique per application thread.

◆ idle_count

uint32_t vectorloop_s::idle_count

Counter used to track when loop was idle (processed nothing) so the loop could slow it self down and not burn CPU cycles needlessly.

◆ listener_tcp_ipv4

conn_t* vectorloop_s::listener_tcp_ipv4

Pointer to TCP IPv4 listener connection.

◆ listener_tcp_ipv6

conn_t* vectorloop_s::listener_tcp_ipv6

Pointer to TCP IPv6 listener connection.

◆ listener_udp_ipv4

conn_t* vectorloop_s::listener_udp_ipv4

Pointer to UDP IPv4 listener connection.

◆ listener_udp_ipv6

conn_t* vectorloop_s::listener_udp_ipv6

Pointer to UDP IPv6 listener connection.

◆ loop_timestamp

struct timespec vectorloop_s::loop_timestamp

Loop timestamp, taken each iteration and used to check for timeouts in LRU cache.

◆ metrics

metrics_t* vectorloop_s::metrics

Metrics object where to report statistics.

◆ query_log

query_log_t vectorloop_s::query_log

Query log object

◆ query_log_channel

channel_bss_t* vectorloop_s::query_log_channel

Application log channel.

◆ query_log_queue

conn_fifo_queue_t vectorloop_s::query_log_queue

Log DNS queries queue

◆ query_parse_queue

conn_fifo_queue_t vectorloop_s::query_parse_queue

Parse DNS queries queue

◆ query_resolve_queue

conn_fifo_queue_t vectorloop_s::query_resolve_queue

Resolve DNS queries queue

◆ query_response_pack_queue

conn_fifo_queue_t vectorloop_s::query_response_pack_queue

Pack DNS queries response queue

◆ resource_channel

channel_bss_t* vectorloop_s::resource_channel

Resource channel.


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