what broke in IPV6 on OSX.
Tobias Luetke - Performance Feedback
Andre Cruz - Help with getting the CRC Hash function to match other connectors
Brian Pontz - Hsieh hash
+Tim Bunce - Perl Driver work and feedback on API
memcached_fetch_execute() is a callback function for result sets. Instead
of returning the results to you for processing, it passes each of the
result sets to the list of functions you provide. It passes to the function
-a memcached_st that can be cloned for use in called the cluster (it can not
-be used directly). It also passed a result set which does not need to be freed.
+a memcached_st that can be cloned for use in the called function (it can not
+be used directly). It also passes a result set which does not need to be freed.
Finally it passes a "context". This is just a pointer to a memory reference
you supply the calling function. Currently only one value is being passed
to each function call. In the future there will be an option to allow this
typedef struct memcached_server_st memcached_server_st;
/* These are Private and should not be used by applications */
-#define SMALL_STRING_LEN 1024
-#define HUGE_STRING_LEN 8196
+#define MEMCACHED_VERSION_STRING_LENGTH 12
-#define MEMCACHED_VERSION_STRING 12
+/* Public defines */
#define MEMCACHED_DEFAULT_PORT 11211
-#define MEMCACHED_DEFAULT_COMMAND_SIZE 350
#define MEMCACHED_MAX_KEY 251 /* We add one to have it null terminated */
-#define MEMCACHED_MAX_BUFFER HUGE_STRING_LEN
+#define MEMCACHED_MAX_BUFFER 8196
#define MEMCACHED_MAX_HOST_LENGTH 64
#define MEMCACHED_WHEEL_SIZE 1024
#define MEMCACHED_STRIDE 4
uint64_t evictions;
uint64_t bytes_read;
uint64_t bytes_written;
- char version[MEMCACHED_VERSION_STRING];
+ char version[MEMCACHED_VERSION_STRING_LENGTH];
};
struct memcached_string_st {
#include "libmemcached_probes.h"
#define MEMCACHED_BLOCK_SIZE 1024
+#define MEMCACHED_DEFAULT_COMMAND_SIZE 350
+#define SMALL_STRING_LEN 1024
+#define HUGE_STRING_LEN 8196
+
typedef enum {
MEM_NO_BLOCK= (1 << 0),
sprintf(str_port, "%u", server->port);
memset(&hints, 0, sizeof(hints));
+ hints.ai_family= AF_INET;
hints.ai_socktype= SOCK_STREAM;
- hints.ai_protocol= 0;
+ hints.ai_protocol= IPPROTO_TCP;
e= getaddrinfo(server->hostname, str_port, &hints, &ai);
if (e != 0)
break;
default:
ptr->cached_errno= errno;
+ WATCHPOINT_ASSERT(errno == ECONNREFUSED);
WATCHPOINT_ERRNO(ptr->cached_errno);
close(ptr->hosts[server_key].fd);
ptr->hosts[server_key].fd= -1;