Big fix for async mode to make sure all data has been pushed through socket
[awesomized/libmemcached] / lib / common.h
index 1e564cf5f894d5a00533916ee10bca6e9544b703..5c2d2682e3a59e01995167f4f322e52b24d847ef 100644 (file)
 #include <assert.h>
 #include <time.h>
 #include <errno.h>
+#include <fcntl.h>
+#include <sys/un.h>
+#include <netinet/tcp.h>
+
 
 
 #include <memcached.h>
 
 #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),
@@ -44,12 +53,14 @@ typedef enum {
   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,