MEMCACHED_END,
MEMCACHED_DELETED,
MEMCACHED_VALUE,
+ MEMCACHED_STAT,
+ MEMCACHED_ERRNO,
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_MD5_HASHING,
+ MEMCACHED_BEHAVIOR_KETAMA,
} memcached_behavior;
typedef enum {
char *hostname;
unsigned int port;
int fd;
+ unsigned int stack_responses;
};
struct memcached_stat_st {
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;
size_t write_buffer_offset;
char connected;
int my_errno;
- unsigned int stack_responses;
unsigned long long flags;
memcached_return warning; /* Future Use */
};
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);
+unsigned long long memcached_behavior_get(memcached_st *ptr, memcached_behavior flag);
/* All of the functions for adding data to the server */
memcached_return memcached_set(memcached_st *ptr, char *key, size_t key_length,
#define memcached_server_name(A,B) B.hostname
#define memcached_server_port(A,B) B.port
#define memcached_server_list(A) A->hosts
+#define memcached_server_response_increment(A,B) A->hosts[B].stack_responses++
+#define memcached_server_response_decrement(A,B) A->hosts[B].stack_responses--
+#define memcached_server_response_count(A,B) A->hosts[B].stack_responses
memcached_return memcached_server_add(memcached_st *ptr, char *hostname,
unsigned int port);
memcached_return memcached_string_reset(memcached_st *ptr, memcached_string_st *string);
void memcached_string_free(memcached_st *ptr, memcached_string_st *string);
+char *memcached_stat_get_value(memcached_st *ptr, memcached_stat_st *stat,
+ char *key, memcached_return *error);
+char ** memcached_stat_get_keys(memcached_st *ptr, memcached_stat_st *stat,
+ memcached_return *error);
+
/* Some personal debugging functions */
#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);