From 13371ea6841d6b9668b313aecd2e860e173085e5 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 11 Jan 2016 11:18:28 +0000 Subject: [PATCH] Rework cache API slightly --- src/libstat/learn_cache/learn_cache.h | 12 ++++-------- src/libstat/learn_cache/redis_cache.c | 6 ++---- src/libstat/learn_cache/sqlite3_cache.c | 12 +++++------- src/libstat/stat_process.c | 5 ++--- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/libstat/learn_cache/learn_cache.h b/src/libstat/learn_cache/learn_cache.h index 263252695..3ca5baa53 100644 --- a/src/libstat/learn_cache/learn_cache.h +++ b/src/libstat/learn_cache/learn_cache.h @@ -45,12 +45,10 @@ struct rspamd_stat_cache { gpointer ctx, gboolean learn); gint (*check)(struct rspamd_task *task, gboolean is_spam, - gpointer runtime, - gpointer ctx); + gpointer runtime); gint (*learn)(struct rspamd_task *task, gboolean is_spam, - gpointer runtime, - gpointer ctx); + gpointer runtime); void (*close) (gpointer ctx); gpointer ctx; }; @@ -64,12 +62,10 @@ struct rspamd_stat_cache { gpointer ctx, gboolean learn); \ gint rspamd_stat_cache_##name##_check (struct rspamd_task *task, \ gboolean is_spam, \ - gpointer runtime, \ - gpointer ctx); \ + gpointer runtime); \ gint rspamd_stat_cache_##name##_learn (struct rspamd_task *task, \ gboolean is_spam, \ - gpointer runtime, \ - gpointer ctx); \ + gpointer runtime); \ void rspamd_stat_cache_##name##_close (gpointer ctx) RSPAMD_STAT_CACHE_DEF(sqlite3); diff --git a/src/libstat/learn_cache/redis_cache.c b/src/libstat/learn_cache/redis_cache.c index 9224a5f46..c24c47b6d 100644 --- a/src/libstat/learn_cache/redis_cache.c +++ b/src/libstat/learn_cache/redis_cache.c @@ -306,8 +306,7 @@ rspamd_stat_cache_redis_runtime (struct rspamd_task *task, gint rspamd_stat_cache_redis_check (struct rspamd_task *task, gboolean is_spam, - gpointer runtime, - gpointer c) + gpointer runtime) { struct rspamd_redis_cache_runtime *rt = runtime; struct timeval tv; @@ -333,8 +332,7 @@ rspamd_stat_cache_redis_check (struct rspamd_task *task, gint rspamd_stat_cache_redis_learn (struct rspamd_task *task, gboolean is_spam, - gpointer runtime, - gpointer c) + gpointer runtime) { struct rspamd_redis_cache_runtime *rt = runtime; struct timeval tv; diff --git a/src/libstat/learn_cache/sqlite3_cache.c b/src/libstat/learn_cache/sqlite3_cache.c index 9594941ba..4bc8f0d06 100644 --- a/src/libstat/learn_cache/sqlite3_cache.c +++ b/src/libstat/learn_cache/sqlite3_cache.c @@ -174,16 +174,15 @@ rspamd_stat_cache_sqlite3_runtime (struct rspamd_task *task, gpointer ctx, gboolean learn) { /* No need of runtime for this type of classifier */ - return NULL; + return ctx; } gint rspamd_stat_cache_sqlite3_check (struct rspamd_task *task, gboolean is_spam, - gpointer runtime, - gpointer c) + gpointer runtime) { - struct rspamd_stat_sqlite3_ctx *ctx = (struct rspamd_stat_sqlite3_ctx *)c; + struct rspamd_stat_sqlite3_ctx *ctx = runtime; struct mime_text_part *part; rspamd_cryptobox_hash_state_t st; rspamd_ftok_t *word; @@ -243,10 +242,9 @@ rspamd_stat_cache_sqlite3_check (struct rspamd_task *task, gint rspamd_stat_cache_sqlite3_learn (struct rspamd_task *task, gboolean is_spam, - gpointer runtime, - gpointer c) + gpointer runtime) { - struct rspamd_stat_sqlite3_ctx *ctx = (struct rspamd_stat_sqlite3_ctx *)c; + struct rspamd_stat_sqlite3_ctx *ctx = runtime; gboolean unlearn = !!(task->flags & RSPAMD_TASK_FLAG_UNLEARN); guchar *h; gint64 flag; diff --git a/src/libstat/stat_process.c b/src/libstat/stat_process.c index 74b226407..086b7e298 100644 --- a/src/libstat/stat_process.c +++ b/src/libstat/stat_process.c @@ -391,8 +391,7 @@ rspamd_stat_cache_check (struct rspamd_stat_ctx *st_ctx, if (cl->cache && cl->cachecf) { rt = cl->cache->runtime (task, cl->cachecf, FALSE); - learn_res = cl->cache->check (task, spam, - cl->cachecf, rt); + learn_res = cl->cache->check (task, spam, rt); } if (learn_res == RSPAMD_LEARN_INGORE) { @@ -576,7 +575,7 @@ rspamd_stat_backends_post_learn (struct rspamd_stat_ctx *st_ctx, if (cl->cache) { cache_run = cl->cache->runtime (task, cl->cachecf, TRUE); - cl->cache->learn (task, spam, cache_run, cl->cachecf); + cl->cache->learn (task, spam, cache_run); } for (j = 0; j < cl->statfiles_ids->len; j ++) { -- 2.39.5