X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached-1.0%2Fmemcached.h;h=1ee54bbe03613e8b07945fc5000c02f2df480ecc;hb=c3ae351518d98e7a9b217a356b826c0917ad0374;hp=f97d333a1d4780dd9b1d7a22b71c2f71e3aeba79;hpb=afddcf83538afc8300886702fcddf2333eb94c1f;p=awesomized%2Flibmemcached diff --git a/libmemcached-1.0/memcached.h b/libmemcached-1.0/memcached.h index f97d333a..1ee54bbe 100644 --- a/libmemcached-1.0/memcached.h +++ b/libmemcached-1.0/memcached.h @@ -37,26 +37,63 @@ #pragma once -#include -#include -#include - +/* This seems to be required for older compilers @note http://stackoverflow.com/questions/8132399/how-to-printf-uint64-t */ +#ifndef __STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS +#endif -#if !defined(__cplusplus) -# include +#ifdef __cplusplus +# if __cplusplus >= 201103L +# include +# else +# include +# endif +# include +# include +#else +# include +# include +# include +# include #endif +#include + #include #include #include -#include + +#include +#include + +#include +#include +#include +#include +#include +#include + #include + #include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + #include -#include #include #include -#include // Everything above this line must be in the order specified. #include @@ -66,6 +103,7 @@ #include #include #include +#include #include #include #include @@ -85,89 +123,7 @@ #include #include -struct memcached_st { - /** - @note these are static and should not change without a call to behavior. - */ - struct { - bool is_purging:1; - bool is_processing_input:1; - bool is_time_for_rebuild:1; - } state; - - struct { - // Everything below here is pretty static. - bool auto_eject_hosts:1; - bool binary_protocol:1; - bool buffer_requests:1; - bool hash_with_namespace:1; - bool no_block:1; // Don't block - bool no_reply:1; - bool randomize_replica_read:1; - bool support_cas:1; - bool tcp_nodelay:1; - bool use_sort_hosts:1; - bool use_udp:1; - bool verify_key:1; - bool tcp_keepalive:1; - } flags; - - memcached_server_distribution_t distribution; - hashkit_st hashkit; - struct { - unsigned int version; - } server_info; - uint32_t number_of_hosts; - 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 tcp_keepidle; - int32_t poll_timeout; - int32_t connect_timeout; // How long we will wait on connect() before we will timeout - int32_t retry_timeout; - int send_size; - int recv_size; - void *user_data; - uint64_t query_id; - uint32_t number_of_replicas; - memcached_result_st result; - - struct { - bool weighted; - uint32_t continuum_count; // Ketama - uint32_t continuum_points_counter; // Ketama - time_t next_distribution_rebuild; // Ketama - memcached_continuum_item_st *continuum; // Ketama - } ketama; - - struct memcached_virtual_bucket_t *virtual_bucket; - - struct memcached_allocator_t allocators; - - memcached_clone_fn on_clone; - memcached_cleanup_fn on_cleanup; - memcached_trigger_key_fn get_key_failure; - memcached_trigger_delete_key_fn delete_trigger; - memcached_callback_st *callbacks; - struct memcached_sasl_st sasl; - struct memcached_error_t *error_messages; - struct memcached_array_st *_namespace; - struct { - uint32_t initial_pool_size; - uint32_t max_pool_size; - int32_t version; // This is used by pool and others to determine if the memcached_st is out of date. - struct memcached_array_st *filename; - } configure; - struct { - bool is_allocated:1; - } options; - -}; +#include #ifdef __cplusplus extern "C" { @@ -204,7 +160,7 @@ LIBMEMCACHED_API memcached_return_t memcached_push(memcached_st *destination, const memcached_st *source); LIBMEMCACHED_API -memcached_server_instance_st memcached_server_instance_by_position(const memcached_st *ptr, uint32_t server_key); +const memcached_instance_st * memcached_server_instance_by_position(const memcached_st *ptr, uint32_t server_key); LIBMEMCACHED_API uint32_t memcached_server_count(const memcached_st *);