X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fsource%2Flibmemcached%2Fmemcached_generate_hash_value.rst;h=b1e19e574d1deeb822e4f02861a8b45e38886ebb;hb=f3c8c900e86e36e9817aa35411a35a92ed2714f2;hp=2e151a5cdb872e03485f2dd7f6f0a929a5947b78;hpb=28c4d79e109e11d7d2a9f3189de57da28302ec68;p=awesomized%2Flibmemcached diff --git a/docs/source/libmemcached/memcached_generate_hash_value.rst b/docs/source/libmemcached/memcached_generate_hash_value.rst index 2e151a5c..b1e19e57 100644 --- a/docs/source/libmemcached/memcached_generate_hash_value.rst +++ b/docs/source/libmemcached/memcached_generate_hash_value.rst @@ -1,63 +1,69 @@ -=============================== Generating hash values directly =============================== -.. index:: object: memcached_st - Hash a key value - --------- SYNOPSIS -------- - #include + Compile and link with -lmemcachedutil -lmemcached -.. type:: memcached_hash_t - .. 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 -.. type:: MEMCACHED_HASH_MURMUR3 + .. enumerator:: MEMCACHED_HASH_HSIEH + .. enumerator:: MEMCACHED_HASH_MURMUR + + .. enumerator:: MEMCACHED_HASH_JENKINS + + .. enumerator:: MEMCACHED_HASH_MURMUR3 + + .. enumerator:: MEMCACHED_HASH_CUSTOM -Compile and link with -lmemcachedutil -lmemcached ------------ DESCRIPTION ----------- - :func:`memcached_generate_hash_value` allows you to hash a key using one of 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 @@ -66,19 +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 --------