Work on adding ketama style distribution.
[awesomized/libmemcached] / libmemcached / memcached_constants.h
index 6f3909b6be029726cb00b20dcbfefafa86a94001..237ff54d1a7c76ccc823d9f85154eb6ad56fe44b 100644 (file)
@@ -18,7 +18,10 @@ extern "C" {
 #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_MAX_HOST_SORT_LENGTH 86 /* Used for Ketama */
 #define MEMCACHED_WHEEL_SIZE 1024
+#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
 
@@ -62,6 +65,8 @@ typedef enum {
 typedef enum {
   MEMCACHED_DISTRIBUTION_MODULA,
   MEMCACHED_DISTRIBUTION_CONSISTENT,
+  MEMCACHED_DISTRIBUTION_CONSISTENT_WHEEL,
+  MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA,
 } memcached_server_distribution;
 
 typedef enum {
@@ -91,6 +96,7 @@ typedef enum {
   MEMCACHED_CALLBACK_REALLOC_FUNCTION,
   MEMCACHED_CALLBACK_FREE_FUNCTION,
   MEMCACHED_CALLBACK_GET_FAILURE,
+  MEMCACHED_CALLBACK_DELETE_TRIGGER,
 } memcached_callback;
 
 typedef enum {