X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_behavior.c;h=c54d93fcd4ba03d094e591431750be2f76c867f5;hb=7440e41da7475141f68195d678abcabd8fc3db23;hp=76d0b61fb54b8be2b65903fede6adbbdc8bc64a7;hpb=264a1ae95d273b6b32afed45d7c7c7461bfa54e4;p=m6w6%2Flibmemcached diff --git a/lib/memcached_behavior.c b/lib/memcached_behavior.c index 76d0b61f..c54d93fc 100644 --- a/lib/memcached_behavior.c +++ b/lib/memcached_behavior.c @@ -31,10 +31,15 @@ memcached_return memcached_behavior_set(memcached_st *ptr, break; case MEMCACHED_BEHAVIOR_NO_BLOCK: set_behavior_flag(ptr, MEM_NO_BLOCK, data); + case MEMCACHED_BEHAVIOR_BUFFER_REQUESTS: + set_behavior_flag(ptr, MEM_BUFFER_REQUESTS, data); break; case MEMCACHED_BEHAVIOR_TCP_NODELAY: set_behavior_flag(ptr, MEM_TCP_NODELAY, data); break; + case MEMCACHED_BEHAVIOR_DISTRIBUTION: + ptr->distribution= *(memcached_server_distribution *)(data); + break; case MEMCACHED_BEHAVIOR_HASH: ptr->hash= *(memcached_hash *)(data); break; @@ -44,6 +49,13 @@ memcached_return memcached_behavior_set(memcached_st *ptr, case MEMCACHED_BEHAVIOR_KETAMA: set_behavior_flag(ptr, MEM_USE_KETAMA, data); break; + case MEMCACHED_BEHAVIOR_POLL_TIMEOUT: + { + unsigned int timeout= (*((unsigned int *)data)); + + ptr->poll_timeout= timeout; + break; + } case MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE: { ptr->send_size= (*((int *)data)); @@ -79,14 +91,23 @@ unsigned long long memcached_behavior_get(memcached_st *ptr, case MEMCACHED_BEHAVIOR_NO_BLOCK: temp_flag= MEM_NO_BLOCK; break; + case MEMCACHED_BEHAVIOR_BUFFER_REQUESTS: + temp_flag= MEM_BUFFER_REQUESTS; + break; case MEMCACHED_BEHAVIOR_TCP_NODELAY: temp_flag= MEM_TCP_NODELAY; break; + case MEMCACHED_BEHAVIOR_DISTRIBUTION: + return ptr->distribution; case MEMCACHED_BEHAVIOR_HASH: return ptr->hash; case MEMCACHED_BEHAVIOR_KETAMA: temp_flag= MEM_USE_KETAMA; break; + case MEMCACHED_BEHAVIOR_POLL_TIMEOUT: + { + return (unsigned long long)ptr->poll_timeout; + } case MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE: { int sock_size;