X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached-1.0%2Fserver.h;h=abd0bfb95375d5a4152998195cef227758fe6c3e;hb=ec50b15e196594c059c2d6d9a5a7b810b714bd53;hp=40548112d7f468455135e36d246a3a98cf4a0430;hpb=fddf0928bfebaa0ff1535c0973cfabf5e001e72d;p=m6w6%2Flibmemcached diff --git a/libmemcached-1.0/server.h b/libmemcached-1.0/server.h index 40548112..abd0bfb9 100644 --- a/libmemcached-1.0/server.h +++ b/libmemcached-1.0/server.h @@ -38,64 +38,7 @@ #pragma once -#ifndef WIN32 -#include -#endif - -#ifdef NI_MAXHOST -#define MEMCACHED_NI_MAXHOST NI_MAXHOST -#else -#define MEMCACHED_NI_MAXHOST 1025 -#endif - -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, - MEMCACHED_SERVER_STATE_IN_TIMEOUT -}; - -struct memcached_server_st { - struct { - 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; - memcached_socket_t fd; - uint32_t io_bytes_sent; /* # bytes sent since last read */ - uint32_t server_failure_counter; - uint64_t server_failure_counter_query_id; - uint32_t weight; - uint32_t version; - enum memcached_server_state_t state; - 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; - size_t read_buffer_length; - size_t read_data_length; - size_t write_buffer_offset; - struct addrinfo *address_info; - struct addrinfo *address_info_next; - time_t next_retry; - memcached_st *root; - uint64_t limit_maxbytes; - struct memcached_error_t *error_messages; - char read_buffer[MEMCACHED_MAX_BUFFER]; - char write_buffer[MEMCACHED_MAX_BUFFER]; - char hostname[MEMCACHED_NI_MAXHOST]; -}; - +#include #ifdef __cplusplus extern "C" { @@ -108,7 +51,7 @@ memcached_return_t memcached_server_cursor(const memcached_st *ptr, uint32_t number_of_callbacks); LIBMEMCACHED_API - memcached_server_instance_st memcached_server_by_key(memcached_st *ptr, + const memcached_instance_st * memcached_server_by_key(memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); @@ -120,7 +63,7 @@ LIBMEMCACHED_API void memcached_server_free(memcached_server_st *ptr); LIBMEMCACHED_API -memcached_server_instance_st memcached_server_get_last_disconnect(const memcached_st *ptr); +const memcached_instance_st * memcached_server_get_last_disconnect(const memcached_st *ptr); LIBMEMCACHED_API @@ -152,16 +95,31 @@ memcached_return_t memcached_server_add_with_weight(memcached_st *ptr, const cha Operations on Single Servers. */ LIBMEMCACHED_API -uint32_t memcached_server_response_count(const memcached_server_instance_st self); +uint32_t memcached_server_response_count(const memcached_instance_st * self); + +LIBMEMCACHED_API +const char *memcached_server_name(const memcached_instance_st * self); + +LIBMEMCACHED_API +in_port_t memcached_server_port(const memcached_instance_st * self); + +LIBMEMCACHED_API +in_port_t memcached_server_srcport(const memcached_instance_st * self); + +LIBMEMCACHED_API +void memcached_instance_next_retry(const memcached_instance_st * self, const time_t absolute_time); + +LIBMEMCACHED_API +const char *memcached_server_type(const memcached_instance_st * ptr); LIBMEMCACHED_API -const char *memcached_server_name(const memcached_server_instance_st self); +uint8_t memcached_server_major_version(const memcached_instance_st * ptr); LIBMEMCACHED_API -in_port_t memcached_server_port(const memcached_server_instance_st self); +uint8_t memcached_server_minor_version(const memcached_instance_st * ptr); LIBMEMCACHED_API -const char *memcached_server_type(const memcached_server_instance_st ptr); +uint8_t memcached_server_micro_version(const memcached_instance_st * ptr); #ifdef __cplusplus } // extern "C"