bool auto_eject_hosts:1;
bool binary_protocol:1;
bool buffer_requests:1;
- bool cork:1;
bool hash_with_prefix_key:1;
- bool ketama_weighted:1;
bool no_block:1; // Don't block
bool no_reply:1;
bool randomize_replica_read:1;
bool use_udp:1;
bool verify_key:1;
bool tcp_keepalive:1;
- bool load_from_file:1;
- bool ping_service:1;
} flags;
memcached_server_distribution_t distribution;
hashkit_st hashkit;
- uint32_t continuum_points_counter; // Ketama
uint32_t number_of_hosts;
memcached_server_st *servers;
memcached_server_st *last_disconnected_server;
uint32_t io_bytes_watermark;
uint32_t io_key_prefetch;
uint32_t tcp_keepidle;
- int cached_errno;
int32_t poll_timeout;
int32_t connect_timeout;
int32_t retry_timeout;
- uint32_t continuum_count; // Ketama
int send_size;
int recv_size;
void *user_data;
- time_t next_distribution_rebuild; // Ketama
uint32_t number_of_replicas;
hashkit_st distribution_hashkit;
memcached_result_st result;
- memcached_continuum_item_st *continuum; // Ketama
+
+ struct {
+ bool weighted;
+ uint32_t continuum_count; // Ketama
+ uint32_t continuum_points_counter; // Ketama
+ time_t next_distribution_rebuild; // Ketama
+ memcached_continuum_item_st *continuum; // Ketama
+ } ketama;
struct _allocators_st {
memcached_calloc_fn calloc;
struct memcached_sasl_st sasl;
struct memcached_error_st *error_messages;
struct memcached_array_st *prefix_key;
+ struct {
+ struct memcached_array_st *filename;
+ } configure;
struct {
bool is_allocated:1;
} options;
void memcached_free(memcached_st *ptr);
LIBMEMCACHED_API
-void memcached_reset(memcached_st *ptr);
+memcached_return_t memcached_reset(memcached_st *ptr);
LIBMEMCACHED_API
void memcached_reset_last_disconnected_server(memcached_st *ptr);