#define HUGE_STRING_LEN 8196
#define MEMCACHED_MAX_KEY 251 /* We add one to have it null terminated */
//#define MEMCACHED_MAX_BUFFER 8196
-#define MEMCACHED_MAX_BUFFER 30
+#define MEMCACHED_MAX_BUFFER 8196
typedef enum {
MEMCACHED_SUCCESS,
MEMCACHED_DATA_EXISTS,
MEMCACHED_DATA_DOES_NOT_EXIST,
MEMCACHED_NOTSTORED,
+ MEMCACHED_STORED,
MEMCACHED_NOTFOUND,
MEMCACHED_MEMORY_ALLOCATION_FAILURE,
MEMCACHED_PARTIAL_READ,
MEMCACHED_MAXIMUM_RETURN, /* Always add new error code before */
} memcached_return;
+typedef enum {
+ MEMCACHED_BEHAVIOR_NO_BLOCK,
+ MEMCACHED_BEHAVIOR_BLOCK,
+ MEMCACHED_BEHAVIOR_TCP_NODELAY,
+ MEMCACHED_BEHAVIOR_TCP_DELAY,
+} memcached_behavior;
+
typedef enum {
MEMCACHED_NOT_ALLOCATED= 0,
MEMCACHED_ALLOCATED= 1,
unsigned int limit_maxbytes;
};
+#define MEM_NO_BLOCK (1 << 0)
+#define MEM_TCP_NODELAY (1 << 1)
+#define MEM_REUSE_MEMORY (1 << 2)
+
struct memcached_string_st {
char *string;
char *end;
memcached_server_st *hosts;
unsigned int number_of_hosts;
unsigned int cursor_server;
+ char read_buffer[MEMCACHED_MAX_BUFFER];
+ size_t read_buffer_length;
+ char *read_ptr;
char write_buffer[MEMCACHED_MAX_BUFFER];
size_t write_buffer_offset;
- size_t write_between_flush;
char connected;
+ int my_errno;
+ unsigned int stack_responses;
+ unsigned long long flags;
+ memcached_return warning; /* Future Use */
};
/* Public API */
memcached_return memcached_verbosity(memcached_st *ptr, unsigned int verbosity);
void memcached_quit(memcached_st *ptr);
char *memcached_strerror(memcached_st *ptr, memcached_return rc);
+memcached_return memcached_behavior_set(memcached_st *ptr, memcached_behavior flag, void *data);
/* All of the functions for adding data to the server */
memcached_return memcached_set(memcached_st *ptr, char *key, size_t key_length,
void memcached_string_free(memcached_st *ptr, memcached_string_st *string);
/* Some personal debugging functions */
-#define WATCHPOINT printf("WATCHPOINT %s:%d\n", __FILE__, __LINE__);fflush(stdout);
-#define WATCHPOINT_ERROR(A) printf("WATCHPOINT %s:%d %s\n", __FILE__, __LINE__, memcached_strerror(NULL, A));fflush(stdout);
-#define WATCHPOINT_STRING(A) printf("WATCHPOINT %s:%d %s\n", __FILE__, __LINE__, A);fflush(stdout);
-#define WATCHPOINT_NUMBER(A) printf("WATCHPOINT %s:%d %d\n", __FILE__, __LINE__, A);fflush(stdout);
+#define WATCHPOINT printf("\nWATCHPOINT %s:%d (%s)\n", __FILE__, __LINE__,__func__);fflush(stdout);
+#define WATCHPOINT_ERROR(A) printf("\nWATCHPOINT %s:%d %s\n", __FILE__, __LINE__, memcached_strerror(NULL, A));fflush(stdout);
+#define WATCHPOINT_STRING(A) printf("\nWATCHPOINT %s:%d %s\n", __FILE__, __LINE__, A);fflush(stdout);
+#define WATCHPOINT_NUMBER(A) printf("\nWATCHPOINT %s:%d %d\n", __FILE__, __LINE__, A);fflush(stdout);
+#define WATCHPOINT_ERRNO(A) printf("\nWATCHPOINT %s:%d %s\n", __FILE__, __LINE__, strerror(A));A= 0;fflush(stdout);
#ifdef __cplusplus