docs: flush libmemcached progress
[awesomized/libmemcached] / docs / source / libmemcached / memcached_generate_hash_value.rst
index 2c72cbbce02b4bc90cf762cf15b4d2386e364bb2..b1e19e574d1deeb822e4f02861a8b45e38886ebb 100644 (file)
@@ -1,44 +1,57 @@
 Generating hash values directly
 ===============================
 
-.. index:: object: memcached_st
-
 Hash a key value
 
 SYNOPSIS 
 --------
 
 #include <libmemcached/memcached.h>
-
-.. 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
+
+.. c:type:: enum memcached_hash_t memcached_hash_t
+
+.. enum:: memcached_hash_t
+
+    .. enumerator::  MEMCACHED_HASH_DEFAULT
+
+    .. enumerator::  MEMCACHED_HASH_MD5
+
+    .. enumerator::  MEMCACHED_HASH_CRC
 
-.. type:: MEMCACHED_HASH_MD5
+    .. enumerator::  MEMCACHED_HASH_FNV1_64
 
-.. type:: MEMCACHED_HASH_CRC
+    .. enumerator::  MEMCACHED_HASH_FNV1A_64
 
-.. type:: MEMCACHED_HASH_FNV1_64
+    .. enumerator::  MEMCACHED_HASH_FNV1_32
 
-.. type:: MEMCACHED_HASH_FNV1A_64
+    .. enumerator::  MEMCACHED_HASH_FNV1A_32
 
-.. type:: MEMCACHED_HASH_FNV1_32
+    .. enumerator::  MEMCACHED_HASH_HSIEH
 
-.. type:: MEMCACHED_HASH_FNV1A_32
+    .. enumerator::  MEMCACHED_HASH_MURMUR
 
-.. type:: MEMCACHED_HASH_JENKINS
+    .. enumerator::  MEMCACHED_HASH_JENKINS
 
-.. type:: MEMCACHED_HASH_MURMUR
+    .. enumerator::  MEMCACHED_HASH_MURMUR3
 
-.. type:: MEMCACHED_HASH_HSIEH
+    .. enumerator::  MEMCACHED_HASH_CUSTOM
 
-.. type:: MEMCACHED_HASH_MURMUR3
 
-Compile and link with -lmemcachedutil -lmemcached
 
 DESCRIPTION
 -----------
@@ -48,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