X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fcommon.h;h=96fc3981596acc29f4d5a14a14f44f722db2e153;hb=a9444a068407eb1e60107b4748c8e6a02a71fde6;hp=3a3a969525b80d389727db60fef2720ccda94aee;hpb=d4dc795f136a3a652c5b13b4d818345c6080bceb;p=awesomized%2Flibmemcached diff --git a/lib/common.h b/lib/common.h index 3a3a9695..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), @@ -43,19 +52,22 @@ typedef enum { MEM_USE_MD5= (1 << 3), MEM_USE_KETAMA= (1 << 4), MEM_USE_CRC= (1 << 5), + MEM_USE_CACHE_LOOKUPS= (1 << 6), + MEM_SUPPORT_CAS= (1 << 7), } memcached_flags; /* Hashing algo */ 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-- @@ -78,6 +90,12 @@ memcached_return memcached_string_append(memcached_string_st *string, size_t memcached_string_backspace(memcached_string_st *string, size_t remove); memcached_return memcached_string_reset(memcached_string_st *string); 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); + #endif /* __COMMON_H__ */