incremental version of chunk_hash
This commit is contained in:
parent
6b83549d1a
commit
d6dc0a21fb
|
@ -448,11 +448,11 @@ int chunk_compare(chunk_t a, chunk_t b)
|
|||
* The implementation is based on Paul Hsieh's SuperFastHash:
|
||||
* http://www.azillionmonkeys.com/qed/hash.html
|
||||
*/
|
||||
u_int32_t chunk_hash(chunk_t chunk)
|
||||
u_int32_t chunk_hash_inc(chunk_t chunk, u_int32_t hash)
|
||||
{
|
||||
u_char *data = chunk.ptr;
|
||||
size_t len = chunk.len;
|
||||
u_int32_t hash = len, tmp;
|
||||
u_int32_t tmp;
|
||||
int rem;
|
||||
|
||||
if (!len || data == NULL)
|
||||
|
@ -511,6 +511,14 @@ u_int32_t chunk_hash(chunk_t chunk)
|
|||
return hash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Described in header.
|
||||
*/
|
||||
u_int32_t chunk_hash(chunk_t chunk)
|
||||
{
|
||||
return chunk_hash_inc(chunk, chunk.len);
|
||||
}
|
||||
|
||||
/**
|
||||
* output handler in printf() for chunks
|
||||
*/
|
||||
|
|
|
@ -231,6 +231,11 @@ static inline bool chunk_equals(chunk_t a, chunk_t b)
|
|||
*/
|
||||
u_int32_t chunk_hash(chunk_t chunk);
|
||||
|
||||
/**
|
||||
* Incremental version of chunk_hash. Use this to hash two or more chunks.
|
||||
*/
|
||||
u_int32_t chunk_hash_inc(chunk_t chunk, u_int32_t hash);
|
||||
|
||||
/**
|
||||
* Get printf hooks for a chunk.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue