summaryrefslogtreecommitdiff
path: root/proxy.h
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2023-01-11 13:46:16 -0800
committerdormando <dormando@rydia.net>2023-01-11 21:37:55 -0800
commite660658748b04f865852e77b0aad1fd8301cd5ec (patch)
tree21d4017a4858c44c240e10b4c9a4b136812d2e0e /proxy.h
parentfccf7b9efdfb0deb11f111496ce53c5892647dab (diff)
downloadmemcached-e660658748b04f865852e77b0aad1fd8301cd5ec.tar.gz
core: simplify background IO API
- removes unused "completed" IO callback handler - moves primary post-IO callback handlers from the queue definition to the actual IO objects. - allows IO object callbacks to be handled generically instead of based on the queue they were submitted from.
Diffstat (limited to 'proxy.h')
-rw-r--r--proxy.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/proxy.h b/proxy.h
index f82630b..dce74f5 100644
--- a/proxy.h
+++ b/proxy.h
@@ -409,7 +409,10 @@ struct _io_pending_proxy_t {
int io_queue_type;
LIBEVENT_THREAD *thread;
conn *c;
- mc_resp *resp; // original struct ends here
+ mc_resp *resp;
+ io_queue_cb return_cb; // called on worker thread.
+ io_queue_cb finalize_cb; // called back on the worker thread.
+ // original struct ends here
struct _io_pending_proxy_t *next; // stack for IO submission
STAILQ_ENTRY(_io_pending_proxy_t) io_next; // stack for backends