|
|
|
@ -300,9 +300,10 @@ static int THashInitConfig(THashTableContext *ctx, const char *cnf_prefix)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
THashTableContext *THashInit(const char *cnf_prefix, size_t data_size,
|
|
|
|
|
int (*DataSet)(void *, void *), void (*DataFree)(void *), uint32_t (*DataHash)(void *),
|
|
|
|
|
bool (*DataCompare)(void *, void *), bool (*DataExpired)(void *, SCTime_t),
|
|
|
|
|
uint32_t (*DataSize)(void *), bool reset_memcap, uint64_t memcap, uint32_t hashsize)
|
|
|
|
|
int (*DataSet)(void *, void *), void (*DataFree)(void *),
|
|
|
|
|
uint32_t (*DataHash)(uint32_t, void *), bool (*DataCompare)(void *, void *),
|
|
|
|
|
bool (*DataExpired)(void *, SCTime_t), uint32_t (*DataSize)(void *), bool reset_memcap,
|
|
|
|
|
uint64_t memcap, uint32_t hashsize)
|
|
|
|
|
{
|
|
|
|
|
THashTableContext *ctx = SCCalloc(1, sizeof(*ctx));
|
|
|
|
|
BUG_ON(!ctx);
|
|
|
|
@ -531,7 +532,7 @@ static uint32_t THashGetKey(const THashConfig *cnf, void *data)
|
|
|
|
|
{
|
|
|
|
|
uint32_t key;
|
|
|
|
|
|
|
|
|
|
key = cnf->DataHash(data);
|
|
|
|
|
key = cnf->DataHash(cnf->hash_rand, data);
|
|
|
|
|
key %= cnf->hash_size;
|
|
|
|
|
|
|
|
|
|
return key;
|
|
|
|
|