X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fbehavior.cc;h=c381a513cfbceab5322de4507da5b29698e0403b;hb=4e38a2eadb390c100cbc8e73bf257c49f6eeb7d8;hp=e8bcf857c0bbbfdb013fa925283196888daebec4;hpb=82f13dcb410d2f13b9b1f7b4d97925bd5bdcd5ef;p=m6w6%2Flibmemcached diff --git a/libmemcached/behavior.cc b/libmemcached/behavior.cc index e8bcf857..c381a513 100644 --- a/libmemcached/behavior.cc +++ b/libmemcached/behavior.cc @@ -42,9 +42,9 @@ #include #include -static bool __is_ketama(memcached_st *ptr) +bool memcached_is_consistent_distribution(const memcached_st* memc) { - switch (ptr->distribution) + switch (memc->distribution) { case MEMCACHED_DISTRIBUTION_CONSISTENT: case MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA: @@ -355,9 +355,9 @@ uint64_t memcached_behavior_get(memcached_st *ptr, return ptr->flags.verify_key; case MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED: - if (__is_ketama(ptr)) + if (memcached_is_consistent_distribution(ptr)) { - return ptr->ketama.weighted; + return memcached_is_weighted_ketama(ptr); } return false; @@ -365,7 +365,7 @@ uint64_t memcached_behavior_get(memcached_st *ptr, return ptr->distribution; case MEMCACHED_BEHAVIOR_KETAMA: - return __is_ketama(ptr); + return memcached_is_consistent_distribution(ptr); case MEMCACHED_BEHAVIOR_HASH: return hashkit_get_function(&ptr->hashkit); @@ -522,7 +522,7 @@ memcached_return_t memcached_behavior_set_distribution(memcached_st *ptr, memcac case MEMCACHED_DISTRIBUTION_CONSISTENT: case MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA: - ptr->ketama.weighted= false; + memcached_set_weighted_ketama(ptr, false); break; case MEMCACHED_DISTRIBUTION_RANDOM: @@ -532,7 +532,7 @@ memcached_return_t memcached_behavior_set_distribution(memcached_st *ptr, memcac break; case MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED: - ptr->ketama.weighted= true; + memcached_set_weighted_ketama(ptr, true); break; case MEMCACHED_DISTRIBUTION_VIRTUAL_BUCKET: