X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fsource%2Flibmemcached%2Fmemcached_generate_hash_value.rst;h=b1e19e574d1deeb822e4f02861a8b45e38886ebb;hb=aeac01630eed825d8a624e7fd7c107d47bb2e40c;hp=9d8e00b311e18392fd14772d8cdf894cf8ecca16;hpb=bdf3398dac90a54d82aed65099290d51e92d4601;p=awesomized%2Flibmemcached diff --git a/docs/source/libmemcached/memcached_generate_hash_value.rst b/docs/source/libmemcached/memcached_generate_hash_value.rst index 9d8e00b3..b1e19e57 100644 --- a/docs/source/libmemcached/memcached_generate_hash_value.rst +++ b/docs/source/libmemcached/memcached_generate_hash_value.rst @@ -1,47 +1,58 @@ -=============================== Generating hash values directly =============================== -.. index:: object: memcached_st - Hash a key value SYNOPSIS -------- #include - -.. type:: memcached_hash_t + Compile and link with -lmemcachedutil -lmemcached .. function:: uint32_t memcached_generate_hash_value (const char *key, size_t key_length, memcached_hash_t hash_algorithm) + :param key: the key to generate a hash of + :param key_length: the length of the `key` without any terminating zero + :param hash_algorithm: `memcached_hash_t`, the algorithm to use + :returns: a 32 bit hash value + .. function:: uint32_t memcached_generate_hash (memcached_st *ptr, const char *key, size_t key_length) -.. type:: MEMCACHED_HASH_DEFAULT + :param ptr: pointer to an initialized `memcached_st` struct + :param key: the key to generate a hash of + :param key_length: the length of the `key` without any terminating zero + :returns: a 32 bit hash value -.. type:: MEMCACHED_HASH_MD5 +.. c:type:: enum memcached_hash_t memcached_hash_t -.. type:: MEMCACHED_HASH_CRC +.. enum:: memcached_hash_t -.. type:: MEMCACHED_HASH_FNV1_64 + .. enumerator:: MEMCACHED_HASH_DEFAULT -.. type:: MEMCACHED_HASH_FNV1A_64 + .. enumerator:: MEMCACHED_HASH_MD5 -.. type:: MEMCACHED_HASH_FNV1_32 + .. enumerator:: MEMCACHED_HASH_CRC -.. type:: MEMCACHED_HASH_FNV1A_32 + .. enumerator:: MEMCACHED_HASH_FNV1_64 -.. type:: MEMCACHED_HASH_JENKINS + .. enumerator:: MEMCACHED_HASH_FNV1A_64 -.. type:: MEMCACHED_HASH_MURMUR + .. enumerator:: MEMCACHED_HASH_FNV1_32 -.. type:: MEMCACHED_HASH_HSIEH + .. enumerator:: MEMCACHED_HASH_FNV1A_32 + + .. enumerator:: MEMCACHED_HASH_HSIEH + + .. enumerator:: MEMCACHED_HASH_MURMUR + + .. enumerator:: MEMCACHED_HASH_JENKINS + + .. enumerator:: MEMCACHED_HASH_MURMUR3 + + .. enumerator:: MEMCACHED_HASH_CUSTOM -.. type:: MEMCACHED_HASH_MURMUR3 -Compile and link with -lmemcachedutil -lmemcached ------------ DESCRIPTION ----------- @@ -50,8 +61,9 @@ the hash functions defined in the library. This method is provided for the convenience of higher-level language bindings and is not necessary for normal memcache operations. -The allowed hash algorithm constants are listed in the manpage for -:func:`memcached_behavior_set`. +Support for `MEMCACHED_HASH_HSIEH` is a compile time option that is +disabled by default. To enable tests for this hashing algorithm, +configure and build libmemcached with the Hsieh hash enabled. :func:`memcached_generate_hash` takes a :type:`memcached_st` structure and produces the hash value that would have been generated based on the @@ -60,15 +72,13 @@ defaults of :type:`memcached_st`. As of version 0.36 all hash methods have been placed into the library libhashkit(3) which is linked with libmemcached(3). For more information please see its documentation. ------- -RETURN ------- +RETURN VALUE +------------ A 32-bit integer which is the result of hashing the given key. For 64-bit hash algorithms, only the least-significant 32 bits are returned. --------- SEE ALSO --------