callback.h | callback.h | |||
---|---|---|---|---|
skipping to change at line 335 | skipping to change at line 335 | |||
* @param cookie id of the client receiving the command | * @param cookie id of the client receiving the command | |||
* @param response_handler to send the result back to the client, but | * @param response_handler to send the result back to the client, but | |||
* don't send reply on success! | * don't send reply on success! | |||
* | * | |||
*/ | */ | |||
protocol_binary_response_status (*version)(const void *cookie, | protocol_binary_response_status (*version)(const void *cookie, | |||
memcached_binary_protocol_ver sion_response_handler response_handler); | memcached_binary_protocol_ver sion_response_handler response_handler); | |||
} memcached_binary_protocol_callback_v1_st; | } memcached_binary_protocol_callback_v1_st; | |||
/** | /** | |||
* | * The version numbers for the different callback structures. | |||
*/ | ||||
typedef enum { | ||||
/** Version 0 is a lowlevel interface that tries to maximize your freedo | ||||
m */ | ||||
MEMCACHED_PROTOCOL_HANDLER_V0= 0, | ||||
/** | ||||
* Version 1 abstracts more of the protocol details, and let you work at | ||||
* a logical level | ||||
*/ | ||||
MEMCACHED_PROTOCOL_HANDLER_V1= 1, | ||||
} memcached_protocol_interface_version_t; | ||||
/** | ||||
* Definition of the protocol callback structure. | ||||
*/ | */ | |||
typedef struct { | typedef struct { | |||
/** | /** | |||
* The interface version used (set to 0 if you don't have any specialize | * The interface version you provide callbacks for. | |||
d | ||||
* command handlers). | ||||
*/ | */ | |||
uint64_t interface_version; | memcached_protocol_interface_version_t interface_version; | |||
/** | /** | |||
* Callback fired just before the command will be executed. | * Callback fired just before the command will be executed. | |||
* | * | |||
* @param cookie id of the client receiving the command | * @param cookie id of the client receiving the command | |||
* @param header the command header as received on the wire. If you look | * @param header the command header as received on the wire. If you look | |||
* at the content you <b>must</b> ensure that you don't | * at the content you <b>must</b> ensure that you don't | |||
* try to access beyond the end of the message. | * try to access beyond the end of the message. | |||
*/ | */ | |||
void (*pre_execute)(const void *cookie, | void (*pre_execute)(const void *cookie, | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 17 lines changed or added | |||
memcached.h | memcached.h | |||
---|---|---|---|---|
skipping to change at line 36 | skipping to change at line 36 | |||
#include <libmemcached/memcached_server.h> | #include <libmemcached/memcached_server.h> | |||
#include <libmemcached/memcached_string.h> | #include <libmemcached/memcached_string.h> | |||
#include <libmemcached/memcached_result.h> | #include <libmemcached/memcached_result.h> | |||
#include <libmemcached/memcached_storage.h> | #include <libmemcached/memcached_storage.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#define MEMCACHED_VERSION_STRING_LENGTH 24 | #define MEMCACHED_VERSION_STRING_LENGTH 24 | |||
#define LIBMEMCACHED_VERSION_STRING "0.34" | #define LIBMEMCACHED_VERSION_STRING "0.35" | |||
struct memcached_analysis_st { | struct memcached_analysis_st { | |||
uint32_t average_item_size; | uint32_t average_item_size; | |||
uint32_t longest_uptime; | uint32_t longest_uptime; | |||
uint32_t least_free_server; | uint32_t least_free_server; | |||
uint32_t most_consumed_server; | uint32_t most_consumed_server; | |||
uint32_t oldest_server; | uint32_t oldest_server; | |||
double pool_hit_ratio; | double pool_hit_ratio; | |||
uint64_t most_used_bytes; | uint64_t most_used_bytes; | |||
uint64_t least_remaining_bytes; | uint64_t least_remaining_bytes; | |||
skipping to change at line 116 | skipping to change at line 116 | |||
memcached_clone_func on_clone; | memcached_clone_func on_clone; | |||
memcached_cleanup_func on_cleanup; | memcached_cleanup_func on_cleanup; | |||
memcached_free_function call_free; | memcached_free_function call_free; | |||
memcached_malloc_function call_malloc; | memcached_malloc_function call_malloc; | |||
memcached_realloc_function call_realloc; | memcached_realloc_function call_realloc; | |||
memcached_calloc_function call_calloc; | memcached_calloc_function call_calloc; | |||
memcached_trigger_key get_key_failure; | memcached_trigger_key get_key_failure; | |||
memcached_trigger_delete_key delete_trigger; | memcached_trigger_delete_key delete_trigger; | |||
char prefix_key[MEMCACHED_PREFIX_KEY_MAX_SIZE]; | char prefix_key[MEMCACHED_PREFIX_KEY_MAX_SIZE]; | |||
uint32_t number_of_replicas; | uint32_t number_of_replicas; | |||
memcached_callback_st *callbacks; | ||||
}; | }; | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_version(memcached_st *ptr); | memcached_return memcached_version(memcached_st *ptr); | |||
/* Public API */ | /* Public API */ | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
const char * memcached_lib_version(void); | const char * memcached_lib_version(void); | |||
skipping to change at line 146 | skipping to change at line 147 | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_increment(memcached_st *ptr, | memcached_return memcached_increment(memcached_st *ptr, | |||
const char *key, size_t key_length, | const char *key, size_t key_length, | |||
uint32_t offset, | uint32_t offset, | |||
uint64_t *value); | uint64_t *value); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_decrement(memcached_st *ptr, | memcached_return memcached_decrement(memcached_st *ptr, | |||
const char *key, size_t key_length, | const char *key, size_t key_length, | |||
uint32_t offset, | uint32_t offset, | |||
uint64_t *value); | uint64_t *value); | |||
LIBMEMCACHED_API | ||||
memcached_return memcached_increment_by_key(memcached_st *ptr, | ||||
const char *master_key, size_t | ||||
master_key_length, | ||||
const char *key, size_t key_len | ||||
gth, | ||||
uint64_t offset, | ||||
uint64_t *value); | ||||
LIBMEMCACHED_API | ||||
memcached_return memcached_decrement_by_key(memcached_st *ptr, | ||||
const char *master_key, size_t | ||||
master_key_length, | ||||
const char *key, size_t key_len | ||||
gth, | ||||
uint64_t offset, | ||||
uint64_t *value); | ||||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_increment_with_initial(memcached_st *ptr, | memcached_return memcached_increment_with_initial(memcached_st *ptr, | |||
const char *key, | const char *key, | |||
size_t key_length, | size_t key_length, | |||
uint64_t offset, | uint64_t offset, | |||
uint64_t initial, | uint64_t initial, | |||
time_t expiration, | time_t expiration, | |||
uint64_t *value); | uint64_t *value); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_decrement_with_initial(memcached_st *ptr, | memcached_return memcached_decrement_with_initial(memcached_st *ptr, | |||
const char *key, | const char *key, | |||
size_t key_length, | size_t key_length, | |||
uint64_t offset, | uint64_t offset, | |||
uint64_t initial, | uint64_t initial, | |||
time_t expiration, | time_t expiration, | |||
uint64_t *value); | uint64_t *value); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_increment_with_initial_by_key(memcached_st *ptr, | ||||
const char *master | ||||
_key, | ||||
size_t master_key_ | ||||
length, | ||||
const char *key, | ||||
size_t key_length, | ||||
uint64_t offset, | ||||
uint64_t initial, | ||||
time_t expiration, | ||||
uint64_t *value); | ||||
LIBMEMCACHED_API | ||||
memcached_return memcached_decrement_with_initial_by_key(memcached_st *ptr, | ||||
const char *master | ||||
_key, | ||||
size_t master_key_ | ||||
length, | ||||
const char *key, | ||||
size_t key_length, | ||||
uint64_t offset, | ||||
uint64_t initial, | ||||
time_t expiration, | ||||
uint64_t *value); | ||||
LIBMEMCACHED_API | ||||
void memcached_stat_free(memcached_st *, memcached_stat_st *); | void memcached_stat_free(memcached_st *, memcached_stat_st *); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_ return *error); | memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_ return *error); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_stat_servername(memcached_stat_st *memc_stat, ch ar *args, | memcached_return memcached_stat_servername(memcached_stat_st *memc_stat, ch ar *args, | |||
char *hostname, unsigned int por t); | char *hostname, unsigned int por t); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_flush(memcached_st *ptr, time_t expiration); | memcached_return memcached_flush(memcached_st *ptr, time_t expiration); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_verbosity(memcached_st *ptr, unsigned int verbos ity); | memcached_return memcached_verbosity(memcached_st *ptr, unsigned int verbos ity); | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 45 lines changed or added | |||
memcached.hpp | memcached.hpp | |||
---|---|---|---|---|
skipping to change at line 239 | skipping to change at line 239 | |||
size_t key_length= 0; | size_t key_length= 0; | |||
memcached_return rc; | memcached_return rc; | |||
uint32_t flags= 0; | uint32_t flags= 0; | |||
char *value= memcached_fetch(&memc, ret_key, &key_length, | char *value= memcached_fetch(&memc, ret_key, &key_length, | |||
&value_length, &flags, &rc); | &value_length, &flags, &rc); | |||
if (value && ret_val.empty()) | if (value && ret_val.empty()) | |||
{ | { | |||
ret_val.reserve(value_length); | ret_val.reserve(value_length); | |||
ret_val.assign(value, value + value_length); | ret_val.assign(value, value + value_length); | |||
key.assign(ret_key); | key.assign(ret_key); | |||
free(value); | ||||
} | } | |||
else if (value) | ||||
{ | ||||
free(value); | ||||
} | ||||
return rc; | return rc; | |||
} | } | |||
/** | /** | |||
* Fetches an individual value from the server. | * Fetches an individual value from the server. | |||
* | * | |||
* @param[in] key key of object whose value to get | * @param[in] key key of object whose value to get | |||
* @param[out] ret_val object that is retrieved is stored in | * @param[out] ret_val object that is retrieved is stored in | |||
* this vector | * this vector | |||
* @return true on success; false otherwise | * @return true on success; false otherwise | |||
skipping to change at line 268 | skipping to change at line 274 | |||
if (key.empty()) | if (key.empty()) | |||
{ | { | |||
throw(Error("the key supplied is empty!", false)); | throw(Error("the key supplied is empty!", false)); | |||
} | } | |||
char *value= memcached_get(&memc, key.c_str(), key.length(), | char *value= memcached_get(&memc, key.c_str(), key.length(), | |||
&value_length, &flags, &rc); | &value_length, &flags, &rc); | |||
if (value != NULL && ret_val.empty()) | if (value != NULL && ret_val.empty()) | |||
{ | { | |||
ret_val.reserve(value_length); | ret_val.reserve(value_length); | |||
ret_val.assign(value, value + value_length); | ret_val.assign(value, value + value_length); | |||
free(value); | ||||
return true; | return true; | |||
} | } | |||
return false; | return false; | |||
} | } | |||
/** | /** | |||
* Fetches an individual from a server which is specified by | * Fetches an individual from a server which is specified by | |||
* the master_key parameter that is used for determining which | * the master_key parameter that is used for determining which | |||
* server an object was stored in if key partitioning was | * server an object was stored in if key partitioning was | |||
* used for storage. | * used for storage. | |||
skipping to change at line 305 | skipping to change at line 312 | |||
throw(Error("the master key or key supplied is empty!", false)); | throw(Error("the master key or key supplied is empty!", false)); | |||
} | } | |||
char *value= memcached_get_by_key(&memc, | char *value= memcached_get_by_key(&memc, | |||
master_key.c_str(), master_key.length (), | master_key.c_str(), master_key.length (), | |||
key.c_str(), key.length(), | key.c_str(), key.length(), | |||
&value_length, &flags, &rc); | &value_length, &flags, &rc); | |||
if (value) | if (value) | |||
{ | { | |||
ret_val.reserve(value_length); | ret_val.reserve(value_length); | |||
ret_val.assign(value, value + value_length); | ret_val.assign(value, value + value_length); | |||
free(value); | ||||
return true; | return true; | |||
} | } | |||
return false; | return false; | |||
} | } | |||
/** | /** | |||
* Selects multiple keys at once. This method always | * Selects multiple keys at once. This method always | |||
* works asynchronously. | * works asynchronously. | |||
* | * | |||
* @param[in] keys vector of keys to select | * @param[in] keys vector of keys to select | |||
skipping to change at line 919 | skipping to change at line 927 | |||
* Get the library version string. | * Get the library version string. | |||
* @return std::string containing a copy of the library version string. | * @return std::string containing a copy of the library version string. | |||
*/ | */ | |||
const std::string libVersion() const | const std::string libVersion() const | |||
{ | { | |||
const char *ver= memcached_lib_version(); | const char *ver= memcached_lib_version(); | |||
const std::string version(ver); | const std::string version(ver); | |||
return version; | return version; | |||
} | } | |||
/** | ||||
* Retrieve memcached statistics. Populate a std::map with the retrieved | ||||
* stats. Each server will map to another std::map of the key:value stats | ||||
. | ||||
* | ||||
* @param[out] stats_map a std::map to be populated with the memcached | ||||
* stats | ||||
* @return true on success; false otherwise | ||||
*/ | ||||
bool getStats(std::map< std::string, std::map<std::string, std::string> > | ||||
&stats_map) | ||||
{ | ||||
memcached_return rc; | ||||
memcached_stat_st *stats= memcached_stat(&memc, NULL, &rc); | ||||
if (rc != MEMCACHED_SUCCESS && | ||||
rc != MEMCACHED_SOME_ERRORS) | ||||
{ | ||||
return false; | ||||
} | ||||
uint32_t server_count= memcached_server_count(&memc); | ||||
/* | ||||
* For each memcached server, construct a std::map for its stats and ad | ||||
d | ||||
* it to the std::map of overall stats. | ||||
*/ | ||||
for (uint32_t x= 0; x < server_count; x++) | ||||
{ | ||||
std::ostringstream strstm; | ||||
std::string server_name(memcached_server_name(&memc, servers[x])); | ||||
server_name.append(":"); | ||||
strstm << memcached_server_port(&memc, servers[x]); | ||||
server_name.append(strstm.str()); | ||||
std::map<std::string, std::string> server_stats; | ||||
char **list= NULL; | ||||
char **ptr= NULL; | ||||
list= memcached_stat_get_keys(&memc, &stats[x], &rc); | ||||
for (ptr= list; *ptr; ptr++) | ||||
{ | ||||
char *value= memcached_stat_get_value(&memc, &stats[x], *ptr, &rc); | ||||
server_stats[*ptr]= value; | ||||
free(value); | ||||
} | ||||
stats_map[server_name]= server_stats; | ||||
free(list); | ||||
} | ||||
memcached_stat_free(&memc, stats); | ||||
return true; | ||||
} | ||||
private: | private: | |||
std::string servers_list; | std::string servers_list; | |||
memcached_st memc; | memcached_st memc; | |||
memcached_server_st *servers; | memcached_server_st *servers; | |||
memcached_result_st result; | memcached_result_st result; | |||
}; | }; | |||
} | } | |||
End of changes. 5 change blocks. | ||||
0 lines changed or deleted | 64 lines changed or added | |||
memcached_constants.h | memcached_constants.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
MEMCACHED_NOT_SUPPORTED, | MEMCACHED_NOT_SUPPORTED, | |||
MEMCACHED_NO_KEY_PROVIDED, /* Deprecated. Use MEMCACHED_BAD_KEY_PROVIDED! */ | MEMCACHED_NO_KEY_PROVIDED, /* Deprecated. Use MEMCACHED_BAD_KEY_PROVIDED! */ | |||
MEMCACHED_FETCH_NOTFINISHED, | MEMCACHED_FETCH_NOTFINISHED, | |||
MEMCACHED_TIMEOUT, | MEMCACHED_TIMEOUT, | |||
MEMCACHED_BUFFERED, | MEMCACHED_BUFFERED, | |||
MEMCACHED_BAD_KEY_PROVIDED, | MEMCACHED_BAD_KEY_PROVIDED, | |||
MEMCACHED_INVALID_HOST_PROTOCOL, | MEMCACHED_INVALID_HOST_PROTOCOL, | |||
MEMCACHED_SERVER_MARKED_DEAD, | MEMCACHED_SERVER_MARKED_DEAD, | |||
MEMCACHED_UNKNOWN_STAT_KEY, | MEMCACHED_UNKNOWN_STAT_KEY, | |||
MEMCACHED_E2BIG, | MEMCACHED_E2BIG, | |||
MEMCACHED_INVALID_ARGUMENTS, | ||||
MEMCACHED_MAXIMUM_RETURN /* Always add new error code before */ | MEMCACHED_MAXIMUM_RETURN /* Always add new error code before */ | |||
} memcached_return; | } memcached_return; | |||
typedef enum { | typedef enum { | |||
MEMCACHED_DISTRIBUTION_MODULA, | MEMCACHED_DISTRIBUTION_MODULA, | |||
MEMCACHED_DISTRIBUTION_CONSISTENT, | MEMCACHED_DISTRIBUTION_CONSISTENT, | |||
MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA, | MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA, | |||
MEMCACHED_DISTRIBUTION_RANDOM | MEMCACHED_DISTRIBUTION_RANDOM, | |||
MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA_SPY | ||||
} memcached_server_distribution; | } memcached_server_distribution; | |||
typedef enum { | typedef enum { | |||
MEMCACHED_BEHAVIOR_NO_BLOCK, | MEMCACHED_BEHAVIOR_NO_BLOCK, | |||
MEMCACHED_BEHAVIOR_TCP_NODELAY, | MEMCACHED_BEHAVIOR_TCP_NODELAY, | |||
MEMCACHED_BEHAVIOR_HASH, | MEMCACHED_BEHAVIOR_HASH, | |||
MEMCACHED_BEHAVIOR_KETAMA, | MEMCACHED_BEHAVIOR_KETAMA, | |||
MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE, | MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE, | |||
MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, | MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, | |||
MEMCACHED_BEHAVIOR_CACHE_LOOKUPS, | MEMCACHED_BEHAVIOR_CACHE_LOOKUPS, | |||
skipping to change at line 106 | skipping to change at line 108 | |||
MEMCACHED_BEHAVIOR_SND_TIMEOUT, | MEMCACHED_BEHAVIOR_SND_TIMEOUT, | |||
MEMCACHED_BEHAVIOR_RCV_TIMEOUT, | MEMCACHED_BEHAVIOR_RCV_TIMEOUT, | |||
MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT, | MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT, | |||
MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK, | MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK, | |||
MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK, | MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK, | |||
MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH, | MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH, | |||
MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY, | MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY, | |||
MEMCACHED_BEHAVIOR_NOREPLY, | MEMCACHED_BEHAVIOR_NOREPLY, | |||
MEMCACHED_BEHAVIOR_USE_UDP, | MEMCACHED_BEHAVIOR_USE_UDP, | |||
MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS, | MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS, | |||
MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS | MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, | |||
MEMCACHED_BEHAVIOR_KETAMA_COMPAT_MODE | ||||
} memcached_behavior; | } memcached_behavior; | |||
#define MEMCACHED_KETAMA_COMPAT_LIBMEMCACHED 0 | ||||
#define MEMCACHED_KETAMA_COMPAT_SPY 1 | ||||
typedef enum { | typedef enum { | |||
MEMCACHED_CALLBACK_PREFIX_KEY = 0, | MEMCACHED_CALLBACK_PREFIX_KEY = 0, | |||
MEMCACHED_CALLBACK_USER_DATA = 1, | MEMCACHED_CALLBACK_USER_DATA = 1, | |||
MEMCACHED_CALLBACK_CLEANUP_FUNCTION = 2, | MEMCACHED_CALLBACK_CLEANUP_FUNCTION = 2, | |||
MEMCACHED_CALLBACK_CLONE_FUNCTION = 3, | MEMCACHED_CALLBACK_CLONE_FUNCTION = 3, | |||
#ifdef MEMCACHED_ENABLE_DEPRECATED | #ifdef MEMCACHED_ENABLE_DEPRECATED | |||
MEMCACHED_CALLBACK_MALLOC_FUNCTION = 4, | MEMCACHED_CALLBACK_MALLOC_FUNCTION = 4, | |||
MEMCACHED_CALLBACK_REALLOC_FUNCTION = 5, | MEMCACHED_CALLBACK_REALLOC_FUNCTION = 5, | |||
MEMCACHED_CALLBACK_FREE_FUNCTION = 6, | MEMCACHED_CALLBACK_FREE_FUNCTION = 6, | |||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 8 lines changed or added | |||
memcached_get.h | memcached_get.h | |||
---|---|---|---|---|
/* | /* | |||
* Summary: Get functions for libmemcached | * Summary: Get functions for libmemcached | |||
* | * | |||
* Copy: See Copyright for the status of this software. | * Copy: See Copyright for the status of this software. | |||
* | * | |||
* Author: Brian Aker | * Author: Brian Aker | |||
*/ | */ | |||
#ifndef __MEMCACHED_GET_H__ | #ifndef LIBMEMCACHED_MEMCACHED_GET_H | |||
#define __MEMCACHED_GET_H__ | #define LIBMEMCACHED_MEMCACHED_GET_H | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/* Public defines */ | /* Public defines */ | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
char *memcached_get(memcached_st *ptr, | char *memcached_get(memcached_st *ptr, | |||
const char *key, size_t key_length, | const char *key, size_t key_length, | |||
size_t *value_length, | size_t *value_length, | |||
uint32_t *flags, | uint32_t *flags, | |||
memcached_return *error); | memcached_return *error); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_mget(memcached_st *ptr, | memcached_return memcached_mget(memcached_st *ptr, | |||
const char **keys, size_t *key_length, | const char * const *keys, | |||
const size_t *key_length, | ||||
size_t number_of_keys); | size_t number_of_keys); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
char *memcached_get_by_key(memcached_st *ptr, | char *memcached_get_by_key(memcached_st *ptr, | |||
const char *master_key, size_t master_key_length , | const char *master_key, size_t master_key_length , | |||
const char *key, size_t key_length, | const char *key, size_t key_length, | |||
size_t *value_length, | size_t *value_length, | |||
uint32_t *flags, | uint32_t *flags, | |||
memcached_return *error); | memcached_return *error); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_return memcached_mget_by_key(memcached_st *ptr, | memcached_return memcached_mget_by_key(memcached_st *ptr, | |||
const char *master_key, size_t | const char *master_key, size_t | |||
master_key_length, | master_key_length, | |||
const char **keys, | const char * const *keys, | |||
size_t *key_length, | const size_t *key_length, | |||
size_t number_of_keys); | size_t number_of_keys); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
char *memcached_fetch(memcached_st *ptr, | char *memcached_fetch(memcached_st *ptr, | |||
char *key, size_t *key_length, | char *key, size_t *key_length, | |||
size_t *value_length, uint32_t *flags, | size_t *value_length, uint32_t *flags, | |||
memcached_return *error); | memcached_return *error); | |||
LIBMEMCACHED_API | LIBMEMCACHED_API | |||
memcached_result_st *memcached_fetch_result(memcached_st *ptr, | memcached_result_st *memcached_fetch_result(memcached_st *ptr, | |||
memcached_result_st *result, | memcached_result_st *result, | |||
memcached_return *error); | memcached_return *error); | |||
LIBMEMCACHED_API | ||||
memcached_return memcached_mget_execute(memcached_st *ptr, | ||||
const char * const *keys, | ||||
const size_t *key_length, | ||||
size_t number_of_keys, | ||||
memcached_execute_function *callbac | ||||
k, | ||||
void *context, | ||||
unsigned int number_of_callbacks); | ||||
LIBMEMCACHED_API | ||||
memcached_return memcached_mget_execute_by_key(memcached_st *ptr, | ||||
const char *master_key, | ||||
size_t master_key_length, | ||||
const char * const *keys, | ||||
const size_t *key_length, | ||||
size_t number_of_keys, | ||||
memcached_execute_function * | ||||
callback, | ||||
void *context, | ||||
unsigned int number_of_callb | ||||
acks); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif /* __MEMCACHED_GET_H__ */ | #endif /* LIBMEMCACHED_MEMCACHED_GET_H */ | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 29 lines changed or added | |||
memcached_types.h | memcached_types.h | |||
---|---|---|---|---|
/* | /* | |||
* Summary: Typpes for libmemcached | * Summary: Typpes for libmemcached | |||
* | * | |||
* Copy: See Copyright for the status of this software. | * Copy: See Copyright for the status of this software. | |||
* | * | |||
* Author: Brian Aker | * Author: Brian Aker | |||
*/ | */ | |||
#ifndef __MEMCACHED_TYPES_H__ | #ifndef LIBMEMCACHED_MEMCACHED_TYPES_H | |||
#define __MEMCACHED_TYPES_H__ | #define LIBMEMCACHED_MEMCACHED_TYPES_H | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
typedef struct memcached_st memcached_st; | typedef struct memcached_st memcached_st; | |||
typedef struct memcached_stat_st memcached_stat_st; | typedef struct memcached_stat_st memcached_stat_st; | |||
typedef struct memcached_analysis_st memcached_analysis_st; | typedef struct memcached_analysis_st memcached_analysis_st; | |||
typedef struct memcached_result_st memcached_result_st; | typedef struct memcached_result_st memcached_result_st; | |||
typedef struct memcached_string_st memcached_string_st; | typedef struct memcached_string_st memcached_string_st; | |||
skipping to change at line 40 | skipping to change at line 40 | |||
typedef memcached_return (*memcached_server_function)(memcached_st *ptr, me mcached_server_st *server, void *context); | typedef memcached_return (*memcached_server_function)(memcached_st *ptr, me mcached_server_st *server, void *context); | |||
typedef memcached_return (*memcached_trigger_key)(memcached_st *ptr, | typedef memcached_return (*memcached_trigger_key)(memcached_st *ptr, | |||
const char *key, size_t k ey_length, | const char *key, size_t k ey_length, | |||
memcached_result_st *resu lt); | memcached_result_st *resu lt); | |||
typedef memcached_return (*memcached_trigger_delete_key)(memcached_st *ptr, | typedef memcached_return (*memcached_trigger_delete_key)(memcached_st *ptr, | |||
const char *key, s ize_t key_length); | const char *key, s ize_t key_length); | |||
typedef memcached_return (*memcached_dump_func)(memcached_st *ptr, | typedef memcached_return (*memcached_dump_func)(memcached_st *ptr, | |||
const char *key, size_t key _length, void *context); | const char *key, size_t key _length, void *context); | |||
typedef struct { | ||||
memcached_execute_function *callback; | ||||
void *context; | ||||
unsigned int number_of_callback; | ||||
} memcached_callback_st; | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif /* __MEMCACHED_TYPES_H__ */ | #endif /* LIBMEMCACHED_MEMCACHED_TYPES_H */ | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 8 lines changed or added | |||