#pragma once
+enum memcached_server_state_t {
+ MEMCACHED_SERVER_STATE_NEW, // fd == -1, no address lookup has been done
+ MEMCACHED_SERVER_STATE_ADDRINFO, // ADDRRESS information has been gathered
+ MEMCACHED_SERVER_STATE_IN_PROGRESS,
+ MEMCACHED_SERVER_STATE_CONNECTED
+};
+
struct memcached_server_st {
struct {
bool is_allocated:1;
uint32_t io_bytes_sent; /* # bytes sent since last read */
uint32_t server_failure_counter;
uint32_t weight;
+ enum memcached_server_state_t state;
struct {
uint32_t read;
uint32_t write;
struct addrinfo *address_info;
struct addrinfo *address_info_next;
time_t next_retry;
- const memcached_st *root;
+ memcached_st *root;
uint64_t limit_maxbytes;
char read_buffer[MEMCACHED_MAX_BUFFER];
char write_buffer[MEMCACHED_MAX_BUFFER];