Performance improvements in get operations
[awesomized/libmemcached] / include / memcached.h
index 175c93c3529c5e17347d0009ea739dcdf55ac9b2..a6b342c65d11dd1b45f97df7675b94b4e2836f18 100644 (file)
@@ -35,7 +35,7 @@ typedef struct memcached_server_st memcached_server_st;
 #define MEMCACHED_MAX_HOST_LENGTH 64
 #define MEMCACHED_WHEEL_SIZE 1024
 #define MEMCACHED_STRIDE 4
-#define MEMCACHED_DEFAULT_TIMEOUT 100
+#define MEMCACHED_DEFAULT_TIMEOUT INT32_MAX
 
 typedef enum {
   MEMCACHED_SUCCESS,
@@ -68,6 +68,7 @@ typedef enum {
   MEMCACHED_NOT_SUPPORTED,
   MEMCACHED_NO_KEY_PROVIDED,
   MEMCACHED_FETCH_NOTFINISHED,
+  MEMCACHED_TIMEOUT,
   MEMCACHED_MAXIMUM_RETURN, /* Always add new error code before */
 } memcached_return;
 
@@ -124,6 +125,7 @@ struct memcached_server_st {
   size_t write_buffer_offset;
   char *write_ptr;
   char read_buffer[MEMCACHED_MAX_BUFFER];
+  size_t read_data_length;
   size_t read_buffer_length;
   char *read_ptr;
   memcached_allocated sockaddr_inited;
@@ -353,6 +355,10 @@ memcached_return memcached_cas_by_key(memcached_st *ptr,
                                       time_t expiration,
                                       uint16_t flags,
                                       uint64_t cas);
+memcached_return memcached_delete_by_key(memcached_st *ptr, 
+                                         char *master_key, size_t master_key_length,
+                                         char *key, size_t key_length,
+                                         time_t expiration);
 
 /* Result Struct */
 void memcached_result_free(memcached_result_st *result);
@@ -378,6 +384,7 @@ size_t memcached_result_length(memcached_result_st *ptr);
 #define WATCHPOINT fprintf(stderr, "\nWATCHPOINT %s:%d (%s)\n", __FILE__, __LINE__,__func__);fflush(stdout);
 #ifdef __MEMCACHED_H__
 #define WATCHPOINT_ERROR(A) fprintf(stderr, "\nWATCHPOINT %s:%d %s\n", __FILE__, __LINE__, memcached_strerror(NULL, A));fflush(stdout);
+#define WATCHPOINT_IFERROR(A) if(A != MEMCACHED_SUCCESS)fprintf(stderr, "\nWATCHPOINT %s:%d %s\n", __FILE__, __LINE__, memcached_strerror(NULL, A));fflush(stdout);
 #endif
 #define WATCHPOINT_STRING(A) fprintf(stderr, "\nWATCHPOINT %s:%d (%s) %s\n", __FILE__, __LINE__,__func__,A);fflush(stdout);
 #define WATCHPOINT_STRING_LENGTH(A,B) fprintf(stderr, "\nWATCHPOINT %s:%d (%s) %.*s\n", __FILE__, __LINE__,__func__,(int)B,A);fflush(stdout);
@@ -385,18 +392,10 @@ size_t memcached_result_length(memcached_result_st *ptr);
 #define WATCHPOINT_ERRNO(A) fprintf(stderr, "\nWATCHPOINT %s:%d (%s) %s\n", __FILE__, __LINE__,__func__, strerror(A));A= 0;fflush(stdout);
 #define WATCHPOINT_ASSERT(A) assert((A));
 #else
-/*
-#define WATCHPOINT { 1; };
-#define WATCHPOINT_ERROR(A) { 1; };
-#define WATCHPOINT_STRING(A) { 1; };
-#define WATCHPOINT_STRING_LENGTH(A,B) { 1; };
-#define WATCHPOINT_NUMBER(A) { 1; };
-#define WATCHPOINT_ERRNO(A) { 1; };
-#define WATCHPOINT_ASSERT(A) { 1; };
-*/
 #define WATCHPOINT
 #ifdef __MEMCACHED_H__
 #define WATCHPOINT_ERROR(A)
+#define WATCHPOINT_IFERROR(A)
 #endif
 #define WATCHPOINT_STRING(A)
 #define WATCHPOINT_NUMBER(A)