X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fserver.hpp;h=708e64606610f462a73903fad188d6e5c1944c99;hb=45154abf5ce15679bb321c70711d4b3d8be5f855;hp=2719294f9cf3d4fd626b1fcda9ec14d6292ae8c0;hpb=6cca0302addd6ea9714f2b8deff2c48aab3002ef;p=m6w6%2Flibmemcached diff --git a/libmemcached/server.hpp b/libmemcached/server.hpp index 2719294f..708e6460 100644 --- a/libmemcached/server.hpp +++ b/libmemcached/server.hpp @@ -60,28 +60,36 @@ void __server_free(memcached_server_st *); static inline bool memcached_is_valid_servername(const memcached_string_t& arg) { - return arg.size < NI_MAXHOST; + return (arg.c_str != NULL or arg.size == 0) and arg.size < MEMCACHED_NI_MAXHOST; } -void memcached_instance_free(org::libmemcached::Instance *); +static inline bool memcached_is_valid_filename(const memcached_string_t& arg) +{ + return arg.c_str != NULL and arg.size > 0 and arg.size < MEMCACHED_NI_MAXHOST; +} -void set_last_disconnected_host(org::libmemcached::Instance* self); +void memcached_instance_free(memcached_instance_st *); -static inline void memcached_mark_server_for_timeout(org::libmemcached::Instance* server) +void set_last_disconnected_host(memcached_instance_st* self); + +static inline void memcached_mark_server_for_timeout(memcached_instance_st* server) { if (server->state != MEMCACHED_SERVER_STATE_IN_TIMEOUT) { - struct timeval next_time; - if (gettimeofday(&next_time, NULL) == 0) + if (server->root->retry_timeout != 0) { - server->next_retry= next_time.tv_sec +server->root->retry_timeout; - } - else - { - server->next_retry= 1; // Setting the value to 1 causes the timeout to occur immediatly - } + struct timeval next_time; + if (gettimeofday(&next_time, NULL) == 0) + { + server->next_retry= next_time.tv_sec +server->root->retry_timeout; + } + else + { + server->next_retry= 1; // Setting the value to 1 causes the timeout to occur immediatly + } - server->state= MEMCACHED_SERVER_STATE_IN_TIMEOUT; + server->state= MEMCACHED_SERVER_STATE_IN_TIMEOUT; + } if (server->server_failure_counter_query_id != server->root->query_id) { server->server_failure_counter++;