2 #ifndef MEMCACHED_ENGINE_H
3 #define MEMCACHED_ENGINE_H
9 #include "memcached/types.h"
10 #include "memcached/protocol_binary.h"
11 #include "memcached/config_parser.h"
12 #include "memcached/server_api.h"
13 #include "memcached/callback.h"
14 #include "memcached/extension.h"
15 #include "memcached/vbucket.h"
16 #include "memcached/engine_common.h"
49 #define ENGINE_INTERFACE_VERSION 1
60 typedef void (*
ADD_STAT)(
const char *key,
const uint16_t klen,
61 const char *val,
const uint32_t vlen,
81 const void *ext, uint8_t extlen,
82 const void *body, uint32_t bodylen,
83 uint8_t datatype, uint16_t status,
84 uint64_t cas,
const void *cookie);
110 typedef enum { TAP_MUTATION = 1,
119 TAP_CHECKPOINT_START,
120 TAP_CHECKPOINT_END } tap_event_t;
147 void **engine_specific,
148 uint16_t *nengine_specific,
167 GET_SERVER_API get_server_api,
175 ENGINE_FEATURE_MULTI_TENANCY,
177 ENGINE_FEATURE_VBUCKET
179 #define LAST_REGISTERED_ENGINE_FEATURE ENGINE_FEATURE_VBUCKET
235 const char* config_str);
271 const rel_time_t exptime);
294 const size_t name_len);
353 ENGINE_STORE_OPERATION operation,
378 const bool increment,
380 const uint64_t delta,
381 const uint64_t initial,
382 const rel_time_t exptime,
397 const void* cookie, time_t when);
416 const char* stat_key,
439 void (*callback)(
void*,
void*),
486 void *engine_specific,
490 tap_event_t tap_event,
513 const void* client,
size_t nclient,
515 const void* userdata,
size_t nuserdata);
521 item *item, uint64_t cas);
552 char *buffer,
size_t buffsz);