From a022d264bb0838e7ff170f3165e169a81baab3d9 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 23 Feb 2015 11:11:52 +0000 Subject: [PATCH] Use xxh64 for upstreams hashing. --- src/libutil/upstream.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/libutil/upstream.c b/src/libutil/upstream.c index 36aa94c616..61f40d4193 100644 --- a/src/libutil/upstream.c +++ b/src/libutil/upstream.c @@ -634,19 +634,14 @@ rspamd_consistent_hash (guint64 key, guint32 nbuckets) static struct upstream* rspamd_upstream_get_hashed (struct upstream_list *ups, const guint8 *key, guint keylen) { - union { - guint64 k64; - guint32 k32[2]; - } h; - + guint64 k; guint32 idx; /* Generate 64 bits input key */ - h.k32[0] = XXH32 (key, keylen, ((guint32*)&ups->hash_seed)[0]); - h.k32[1] = XXH32 (key, keylen, ((guint32*)&ups->hash_seed)[1]); + k = XXH64 (key, keylen, ups->hash_seed); rspamd_mutex_lock (ups->lock); - idx = rspamd_consistent_hash (h.k64, ups->alive->len); + idx = rspamd_consistent_hash (k, ups->alive->len); rspamd_mutex_unlock (ups->lock); return g_ptr_array_index (ups->alive, idx); -- 2.47.3