X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libhashkit%2Ffunction.c;h=2e68b58365c8506413cfa0010b7043ae2002c1fe;hb=f4bd52b78daed53cb70af343cc21715fabf973fa;hp=445859d2c70ebf5b23afedad47101677abb02285;hpb=42771008c1a69a2bfac10bbc89d00094d738e896;p=m6w6%2Flibmemcached diff --git a/libhashkit/function.c b/libhashkit/function.c index 445859d2..2e68b583 100644 --- a/libhashkit/function.c +++ b/libhashkit/function.c @@ -8,11 +8,6 @@ #include "common.h" -uint32_t hashkit_generate_value(const hashkit_st *self, const char *key, size_t key_length) -{ - return self->base_hash.function(key, key_length, self->base_hash.context); -} - static hashkit_return_t _set_function(struct hashkit_function_st *self, hashkit_hash_algorithm_t hash_algorithm) { switch (hash_algorithm) @@ -46,8 +41,12 @@ static hashkit_return_t _set_function(struct hashkit_function_st *self, hashkit_ return HASHKIT_FAILURE; #endif case HASHKIT_HASH_MURMUR: +#ifdef HAVE_MURMUR_HASH self->function= hashkit_murmur; break; +#else + return HASHKIT_FAILURE; +#endif case HASHKIT_HASH_JENKINS: self->function= hashkit_jenkins; break; @@ -55,7 +54,6 @@ static hashkit_return_t _set_function(struct hashkit_function_st *self, hashkit_ case HASHKIT_HASH_MAX: default: return HASHKIT_FAILURE; - break; } self->context= NULL; @@ -132,10 +130,12 @@ static hashkit_hash_algorithm_t get_function_type(const hashkit_hash_fn function return HASHKIT_HASH_HSIEH; } #endif +#ifdef HAVE_MURMUR_HASH else if (function == hashkit_murmur) { return HASHKIT_HASH_MURMUR; } +#endif else if (function == hashkit_jenkins) { return HASHKIT_HASH_JENKINS; @@ -153,45 +153,3 @@ hashkit_hash_algorithm_t hashkit_get_distribution_function(const hashkit_st *sel { return get_function_type(self->distribution_hash.function); } - -uint32_t libhashkit_generate_value(const char *key, size_t key_length, hashkit_hash_algorithm_t hash_algorithm) -{ - switch (hash_algorithm) - { - case HASHKIT_HASH_DEFAULT: - return libhashkit_one_at_a_time(key, key_length); - case HASHKIT_HASH_MD5: - return libhashkit_md5(key, key_length); - case HASHKIT_HASH_CRC: - return libhashkit_crc32(key, key_length); - case HASHKIT_HASH_FNV1_64: - return libhashkit_fnv1_64(key, key_length); - case HASHKIT_HASH_FNV1A_64: - return libhashkit_fnv1a_64(key, key_length); - case HASHKIT_HASH_FNV1_32: - return libhashkit_fnv1_32(key, key_length); - case HASHKIT_HASH_FNV1A_32: - return libhashkit_fnv1a_32(key, key_length); - case HASHKIT_HASH_HSIEH: -#ifdef HAVE_HSIEH_HASH - return libhashkit_hsieh(key, key_length); -#else - return 1; -#endif - case HASHKIT_HASH_MURMUR: - return libhashkit_murmur(key, key_length); - case HASHKIT_HASH_JENKINS: - return libhashkit_jenkins(key, key_length); - case HASHKIT_HASH_CUSTOM: - case HASHKIT_HASH_MAX: - default: -#ifdef HAVE_DEBUG - fprintf(stderr, "hashkit_hash_t was extended but libhashkit_generate_value was not updated\n"); - fflush(stderr); - assert(0); -#endif - break; - } - - return 1; -}