1 #ifndef PROTO_PROXY_H
2 #define PROTO_PROXY_H
3 
4 void proxy_stats(void *arg, ADD_STAT add_stats, void *c);
5 void process_proxy_stats(void *arg, ADD_STAT add_stats, void *c);
6 void process_proxy_funcstats(void *arg, ADD_STAT add_stats, void *c);
7 void process_proxy_bestats(void *arg, ADD_STAT add_stats, void *c);
8 
9 /* proxy mode handlers */
10 int try_read_command_proxy(conn *c);
11 void complete_nread_proxy(conn *c);
12 void proxy_cleanup_conn(conn *c);
13 void proxy_thread_init(void *ctx, LIBEVENT_THREAD *thr);
14 void *proxy_init(bool proxy_uring, bool proxy_memprofile);
15 // TODO: need better names or a better interface for these. can be confusing
16 // to reason about the order.
17 void proxy_start_reload(void *arg);
18 int proxy_first_confload(void *arg);
19 int proxy_load_config(void *arg);
20 void proxy_worker_reload(void *arg, LIBEVENT_THREAD *thr);
21 void proxy_gc_poke(LIBEVENT_THREAD *t);
22 
23 void proxy_submit_cb(io_queue_t *q);
24 void proxy_complete_cb(io_queue_t *q);
25 
26 /* lua */
27 int proxy_register_libs(void *ctx, LIBEVENT_THREAD *t, void *state);
28 
29 #endif
30