- memcached_allocated is_allocated;
- memcached_server_st *hosts;
- unsigned int number_of_hosts;
- unsigned int cursor_server;
+ /**
+ @note these are static and should not change without a call to behavior.
+ */
+ struct {
+ bool is_purging:1;
+ bool is_processing_input:1;
+ // Everything below here is pretty static.
+ bool auto_eject_hosts:1;
+ bool binary_protocol:1;
+ bool buffer_requests:1;
+ bool hash_with_prefix_key:1;
+ bool ketama_weighted:1;
+ bool no_block:1;
+ bool no_reply:1;
+ bool randomize_replica_read:1;
+ bool reuse_memory:1;
+ bool support_cas:1;
+ bool tcp_nodelay:1;
+ bool use_cache_lookups:1;
+ bool use_sort_hosts:1;
+ bool use_udp:1;
+ bool verify_key:1;
+ bool cork:1;
+ } flags;
+ memcached_server_distribution_t distribution;
+ memcached_hash_t hash;
+ uint32_t continuum_points_counter; // Ketama
+ memcached_server_st *servers;
+ memcached_server_st *last_disconnected_server;
+ int32_t snd_timeout;
+ int32_t rcv_timeout;
+ uint32_t server_failure_limit;
+ uint32_t io_msg_watermark;
+ uint32_t io_bytes_watermark;
+ uint32_t io_key_prefetch;
+ uint32_t number_of_hosts;