typedef struct memcached_st memcached_st;
typedef struct memcached_stat_st memcached_stat_st;
+typedef struct memcached_result_st memcached_result_st;
typedef struct memcached_string_st memcached_string_st;
typedef struct memcached_server_st memcached_server_st;
#define SMALL_STRING_LEN 1024
#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 HUGE_STRING_LEN
typedef enum {
};
struct memcached_string_st {
+ memcached_allocated is_allocated;
char *string;
char *end;
size_t current_size;
size_t block_size;
};
+struct memcached_result_st {
+ memcached_string_st key;
+ memcached_string_st result;
+ uint16_t flags;
+ uint64_t cas;
+};
+
struct memcached_st {
memcached_allocated is_allocated;
memcached_server_st *hosts;
char write_buffer[MEMCACHED_MAX_BUFFER];
size_t write_buffer_offset;
char connected;
- int my_errno;
+ int cached_errno;
unsigned long long flags;
int send_size;
int recv_size;
+ memcached_string_st result_buffer;
memcached_hash hash;
memcached_return warning; /* Future Use */
};
char *key, size_t key_length,
unsigned int offset,
unsigned int *value);
+void memcached_stat_free(memcached_st *, memcached_stat_st *);
memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return *error);
memcached_return memcached_stat_servername(memcached_stat_st *stat, char *args,
char *hostname, unsigned int port);
char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length,
size_t *value_length, uint16_t *flags,
memcached_return *error);
+memcached_result_st *memcached_fetch_object(memcached_st *ptr, memcached_return *error);
/* Server Public functions */
#define memcached_server_count(A) A->number_of_hosts