diff options
author | dormando <dormando@rydia.net> | 2023-03-08 17:30:53 -0800 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2023-03-11 18:19:23 -0800 |
commit | c04701654413719d4abd7645c6d7b3fba4255e85 (patch) | |
tree | d415716c5ce3f9290c473bd5e82df4884bd5ab1d /memcached.h | |
parent | aef5b580a5b1528cd418433857adfd7a87f1b4e4 (diff) | |
download | memcached-c04701654413719d4abd7645c6d7b3fba4255e85.tar.gz |
meta: N flag changes append/prepend. ms s flag.
Sending 's' flag to metaset now returns the size of the item stored.
Useful if you want to know how large an append/prepended item now is.
If the 'N' flag is supplied while in append/prepend mode, allows
autovivifying (with exptime supplied from N) for append/prepend style
keys that don't need headers created first.
Diffstat (limited to 'memcached.h')
-rw-r--r-- | memcached.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/memcached.h b/memcached.h index 9bd80b0..7ebe65f 100644 --- a/memcached.h +++ b/memcached.h @@ -266,6 +266,8 @@ enum close_reasons { #define NREAD_APPEND 4 #define NREAD_PREPEND 5 #define NREAD_CAS 6 +#define NREAD_APPENDVIV 7 // specific to meta +#define NREAD_PREPENDVIV 8 // specific to meta #define CAS_ALLOW_STALE true #define CAS_NO_STALE false @@ -909,7 +911,7 @@ enum delta_result_type do_add_delta(LIBEVENT_THREAD *t, const char *key, const int64_t delta, char *buf, uint64_t *cas, const uint32_t hv, item **it_ret); -enum store_item_type do_store_item(item *item, int comm, LIBEVENT_THREAD *t, const uint32_t hv, uint64_t *cas, bool cas_stale); +enum store_item_type do_store_item(item *item, int comm, LIBEVENT_THREAD *t, const uint32_t hv, int *nbytes, uint64_t *cas, bool cas_stale); void thread_io_queue_add(LIBEVENT_THREAD *t, int type, void *ctx, io_queue_stack_cb cb); void conn_io_queue_setup(conn *c); io_queue_t *conn_io_queue_get(conn *c, int type); @@ -992,7 +994,7 @@ LIBEVENT_THREAD *get_worker_thread(int id); void append_stat(const char *name, ADD_STAT add_stats, conn *c, const char *fmt, ...); -enum store_item_type store_item(item *item, int comm, LIBEVENT_THREAD *t, uint64_t *cas, bool cas_stale); +enum store_item_type store_item(item *item, int comm, LIBEVENT_THREAD *t, int *nbytes, uint64_t *cas, bool cas_stale); /* Protocol related code */ void out_string(conn *c, const char *str); |