X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Foptions%2Fparser.yy;h=50db084b32ef4be76eec58611f6a0880f0716ce6;hb=88036261374c676448be69d158777c9c379c7d6a;hp=d309c2278e0b6691c732cf7e35610390036815d0;hpb=c4dbc7e56b01545e25bc95ba122c79d4a2631a99;p=awesomized%2Flibmemcached diff --git a/libmemcached/options/parser.yy b/libmemcached/options/parser.yy index d309c227..50db084b 100644 --- a/libmemcached/options/parser.yy +++ b/libmemcached/options/parser.yy @@ -39,11 +39,10 @@ #include +#include #include #include #include -#include -#include #pragma GCC diagnostic ignored "-Wold-style-cast" #include @@ -75,13 +74,12 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error) %token UNKNOWN /* All behavior options */ -%token AUTO_EJECT_HOSTS %token BINARY_PROTOCOL %token BUFFER_REQUESTS %token CONNECT_TIMEOUT %token DISTRIBUTION %token HASH -%token HASH_WITH_PREFIX_KEY +%token HASH_WITH_NAMESPACE %token IO_BYTES_WATERMARK %token IO_KEY_PREFETCH %token IO_MSG_WATERMARK @@ -92,22 +90,26 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error) %token POLL_TIMEOUT %token RANDOMIZE_REPLICA_READ %token RCV_TIMEOUT +%token REMOVE_FAILED_SERVERS %token RETRY_TIMEOUT -%token SERVER_FAILURE_LIMIT %token SND_TIMEOUT %token SOCKET_RECV_SIZE %token SOCKET_SEND_SIZE %token SORT_HOSTS %token SUPPORT_CAS -%token _TCP_NODELAY -%token _TCP_KEEPALIVE -%token _TCP_KEEPIDLE %token USER_DATA %token USE_UDP %token VERIFY_KEY +%token _TCP_KEEPALIVE +%token _TCP_KEEPIDLE +%token _TCP_NODELAY /* Callbacks */ -%token PREFIX_KEY +%token NAMESPACE + +/* Pool */ +%token POOL_MIN +%token POOL_MAX /* Hash types */ %token MD5 @@ -211,11 +213,19 @@ expression: { memcached_set_configuration_file(context->memc, $2.c_str, $2.length); } + | POOL_MIN NUMBER + { + context->memc->configure.initial_pool_size= $2; + } + | POOL_MAX NUMBER + { + context->memc->configure.max_pool_size= $2; + } | behaviors ; behaviors: - PREFIX_KEY string + NAMESPACE string { if ((context->rc= memcached_set_prefix_key(context->memc, $2.c_str, $2.length)) != MEMCACHED_SUCCESS) { @@ -267,7 +277,11 @@ behaviors: ; behavior_number: - CONNECT_TIMEOUT + REMOVE_FAILED_SERVERS + { + $$= MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS; + } + | CONNECT_TIMEOUT { $$= MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT; } @@ -299,10 +313,6 @@ behavior_number: { $$= MEMCACHED_BEHAVIOR_RETRY_TIMEOUT; } - | SERVER_FAILURE_LIMIT - { - $$= MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT; - } | SND_TIMEOUT { $$= MEMCACHED_BEHAVIOR_SND_TIMEOUT; @@ -318,11 +328,7 @@ behavior_number: ; behavior_boolean: - AUTO_EJECT_HOSTS - { - $$= MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS; - } - | BINARY_PROTOCOL + BINARY_PROTOCOL { $$= MEMCACHED_BEHAVIOR_BINARY_PROTOCOL; } @@ -330,7 +336,7 @@ behavior_boolean: { $$= MEMCACHED_BEHAVIOR_BUFFER_REQUESTS; } - | HASH_WITH_PREFIX_KEY + | HASH_WITH_NAMESPACE { $$= MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY; }