X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fcommon.h;h=96fc3981596acc29f4d5a14a14f44f722db2e153;hb=a9444a068407eb1e60107b4748c8e6a02a71fde6;hp=73913c1c05e98f187ddee33687470b4821db4f4c;hpb=264a1ae95d273b6b32afed45d7c7c7461bfa54e4;p=awesomized%2Flibmemcached diff --git a/lib/common.h b/lib/common.h index 73913c1c..96fc3981 100644 --- a/lib/common.h +++ b/lib/common.h @@ -19,6 +19,10 @@ #include #include #include +#include +#include +#include + #include @@ -36,6 +40,11 @@ #define MEMCACHED_BLOCK_SIZE 1024 +typedef enum { + MEM_NO_FLUSH, + MEM_FLUSH, +} memcached_flush_action; + typedef enum { MEM_NO_BLOCK= (1 << 0), MEM_TCP_NODELAY= (1 << 1), @@ -51,13 +60,14 @@ typedef enum { void md5_signature(unsigned char *key, unsigned int length, unsigned char *result); uint32_t hash_crc32(const char *data, size_t data_len); +uint32_t hsieh_hash(char *key, size_t key_length); memcached_return memcached_connect(memcached_st *ptr, unsigned int server_key); memcached_return memcached_response(memcached_st *ptr, char *buffer, size_t buffer_length, unsigned int server_key); unsigned int memcached_generate_hash(memcached_st *ptr, char *key, size_t key_length); -void memcached_quit_server(memcached_st *ptr, unsigned int server_key); +void memcached_quit_server(memcached_st *ptr, unsigned int server_key, uint8_t io_death); #define memcached_server_response_increment(A,B) A->hosts[B].stack_responses++ #define memcached_server_response_decrement(A,B) A->hosts[B].stack_responses-- @@ -83,6 +93,8 @@ void memcached_string_free(memcached_string_st *string); memcached_return memcached_do(memcached_st *ptr, unsigned int server_key, char *commmand, size_t command_length, char with_flush); memcached_return memcached_version(memcached_st *ptr); +memcached_return memcached_finish_server(memcached_st *ptr, unsigned int server_key); +void memcached_finish(memcached_st *ptr);