Patch for "murmur" hash algorithm.
[awesomized/libmemcached] / lib / memcached_hash.c
index 60c88e3bfb9da057c91eaafd4221245732479ed6..f365cc0ee6815b817e3304573b316a0d3f098144 100644 (file)
@@ -19,6 +19,9 @@ unsigned int memcached_generate_hash(memcached_st *ptr, char *key, size_t key_le
 
   WATCHPOINT_ASSERT(ptr->number_of_hosts);
 
+  if (ptr->number_of_hosts == 1)
+    return 0;
+
   switch (ptr->hash)
   {
   case MEMCACHED_HASH_DEFAULT:
@@ -87,6 +90,11 @@ unsigned int memcached_generate_hash(memcached_st *ptr, char *key, size_t key_le
       hash= hsieh_hash(key, key_length);
       break;
     }
+    case MEMCACHED_HASH_MURMUR:
+    {
+      hash= murmur_hash(key, key_length);
+      break;
+    }
   }
 
   WATCHPOINT_ASSERT(hash);