#define MEMCACHED_MAX_KEY 251 /* We add one to have it null terminated */
#define MEMCACHED_MAX_BUFFER 8196
#define MEMCACHED_MAX_HOST_LENGTH 64
-#define MEMCACHED_WHEEL_SIZE 1024
+#define MEMCACHED_MAX_HOST_SORT_LENGTH 86 /* Used for Ketama */
+#define MEMCACHED_POINTS_PER_SERVER 100
+#define MEMCACHED_CONTINUUM_SIZE MEMCACHED_POINTS_PER_SERVER*100 /* This would then set max hosts to 100 */
#define MEMCACHED_STRIDE 4
-#define MEMCACHED_DEFAULT_TIMEOUT INT32_MAX
+#define MEMCACHED_DEFAULT_TIMEOUT 1000
+#define MEMCACHED_CONTINUUM_ADDITION 10 /* How many extra slots we should build for in the continuum */
+#define MEMCACHED_PREFIX_KEY_MAX_SIZE 12
typedef enum {
MEMCACHED_SUCCESS,
MEMCACHED_TIMEOUT,
MEMCACHED_BUFFERED,
MEMCACHED_BAD_KEY_PROVIDED,
- MEMCACHED_MAXIMUM_RETURN, /* Always add new error code before */
+ MEMCACHED_MAXIMUM_RETURN /* Always add new error code before */
} memcached_return;
typedef enum {
MEMCACHED_DISTRIBUTION_MODULA,
MEMCACHED_DISTRIBUTION_CONSISTENT,
+ MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA
} memcached_server_distribution;
typedef enum {
MEMCACHED_BEHAVIOR_VERIFY_KEY,
MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT,
MEMCACHED_BEHAVIOR_RETRY_TIMEOUT,
+ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED,
+ MEMCACHED_BEHAVIOR_KETAMA_HASH,
+ MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,
+ MEMCACHED_BEHAVIOR_SND_TIMEOUT,
+ MEMCACHED_BEHAVIOR_RCV_TIMEOUT,
+ MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT
} memcached_behavior;
typedef enum {
+ MEMCACHED_CALLBACK_PREFIX_KEY,
MEMCACHED_CALLBACK_USER_DATA,
MEMCACHED_CALLBACK_CLEANUP_FUNCTION,
MEMCACHED_CALLBACK_CLONE_FUNCTION,
MEMCACHED_CALLBACK_REALLOC_FUNCTION,
MEMCACHED_CALLBACK_FREE_FUNCTION,
MEMCACHED_CALLBACK_GET_FAILURE,
+ MEMCACHED_CALLBACK_DELETE_TRIGGER
} memcached_callback;
typedef enum {
MEMCACHED_HASH_FNV1A_64,
MEMCACHED_HASH_FNV1_32,
MEMCACHED_HASH_FNV1A_32,
- MEMCACHED_HASH_KETAMA,
MEMCACHED_HASH_HSIEH,
- MEMCACHED_HASH_MURMUR,
+ MEMCACHED_HASH_MURMUR
} memcached_hash;
typedef enum {
MEMCACHED_CONNECTION_UNKNOWN,
MEMCACHED_CONNECTION_TCP,
MEMCACHED_CONNECTION_UDP,
- MEMCACHED_CONNECTION_UNIX_SOCKET,
+ MEMCACHED_CONNECTION_UNIX_SOCKET
} memcached_connection;
typedef enum {
MEMCACHED_NOT_ALLOCATED,
MEMCACHED_ALLOCATED,
- MEMCACHED_USED,
+ MEMCACHED_USED
} memcached_allocated;