diff options
author | dormando <dormando@rydia.net> | 2022-12-13 12:48:14 -0800 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2022-12-13 12:48:14 -0800 |
commit | 8b98647d1ad80dee3ddb49dfc51cd7bd07fe9297 (patch) | |
tree | 3a12dd2af7f5de130a1fd0034d80716416c7685b /proxy.h | |
parent | d401611ba88db17c38fedf97d336f8085ce24bab (diff) | |
download | memcached-8b98647d1ad80dee3ddb49dfc51cd7bd07fe9297.tar.gz |
proxy: make io_uring backend work again
updates the io_uring code to match the updates on the libevent side.
needs more work before merge:
- auditing error conditions
- try harder for some code deduplication
Diffstat (limited to 'proxy.h')
-rw-r--r-- | proxy.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -140,6 +140,7 @@ typedef struct _io_pending_proxy_t io_pending_proxy_t; typedef struct proxy_event_thread_s proxy_event_thread_t; #ifdef HAVE_LIBURING +// TODO: pass in cqe->res instead of cqe? typedef void (*proxy_event_cb)(void *udata, struct io_uring_cqe *cqe); typedef struct { void *udata; @@ -360,8 +361,10 @@ struct proxy_event_thread_s { #ifdef HAVE_LIBURING struct io_uring ring; proxy_event_t ur_notify_event; // listen on eventfd. + proxy_event_t ur_benotify_event; // listen on eventfd for backend connections. proxy_event_t ur_clock_event; // timer for updating event thread data. eventfd_t event_counter; + eventfd_t beevent_counter; bool use_uring; #endif pthread_mutex_t mutex; // covers stack. |