Fix issue where hash might not be quite initialized. Also remove redundant bit to...
[awesomized/libmemcached] / libmemcached / server.h
index 44a32bba46c0627329994e17dbabad9fb08c414d..fd731e0e1445d4b52ec4125b032bfbb2e3879c52 100644 (file)
 
 struct memcached_server_st {
   struct {
-    bool is_allocated MEMCACHED_BITFIELD;
-    bool is_initialized MEMCACHED_BITFIELD;
-    bool sockaddr_inited MEMCACHED_BITFIELD;
-    bool is_shutting_down MEMCACHED_BITFIELD;
+    bool is_allocated:1;
+    bool is_initialized:1;
+    bool is_shutting_down:1;
+    bool is_dead:1;
   } options;
   uint32_t number_of_hosts;
   uint32_t cursor_active;
   in_port_t port;
   int cached_errno;
-  int fd;
+  memcached_socket_t fd;
   uint32_t io_bytes_sent; /* # bytes sent since last read */
   uint32_t server_failure_counter;
   uint32_t weight;
-  struct { // Place any "state" sort variables in here.
-    bool is_corked;
-  } state;
-  uint8_t major_version;
-  uint8_t micro_version;
-  uint8_t minor_version;
+  struct {
+    uint32_t read;
+    uint32_t write;
+  } io_wait_count;
+  uint8_t major_version; // Default definition of UINT8_MAX means that it has not been set.
+  uint8_t micro_version; // ditto
+  uint8_t minor_version; // ditto
   memcached_connection_t type;
   char *read_ptr;
   char *cached_server_error;
@@ -41,6 +42,7 @@ struct memcached_server_st {
   size_t read_data_length;
   size_t write_buffer_offset;
   struct addrinfo *address_info;
+  struct addrinfo *address_info_next;
   time_t next_retry;
   const memcached_st *root;
   uint64_t limit_maxbytes;