aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/symcache/symcache_item.hxx
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rspamd.com>2022-05-09 21:25:23 +0100
committerVsevolod Stakhov <vsevolod@rspamd.com>2022-05-09 21:25:23 +0100
commit22f603e83dd4fe3fc6d3e9e18b19bc87d57af235 (patch)
treececceb5ebef41c6219071b4ea55c5d5c9b492294 /src/libserver/symcache/symcache_item.hxx
parentd0d9673d38dbb2e8aa93ae60bbbc9193e9646902 (diff)
downloadrspamd-22f603e83dd4fe3fc6d3e9e18b19bc87d57af235.tar.gz
rspamd-22f603e83dd4fe3fc6d3e9e18b19bc87d57af235.zip
[Rework] Use dynamic items for calling callbacks
It is trivial to get a static item by dynamic item by just subtracting pointers. So there is no need in other complications.
Diffstat (limited to 'src/libserver/symcache/symcache_item.hxx')
-rw-r--r--src/libserver/symcache/symcache_item.hxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libserver/symcache/symcache_item.hxx b/src/libserver/symcache/symcache_item.hxx
index 89c00ded5..40e2d67c1 100644
--- a/src/libserver/symcache/symcache_item.hxx
+++ b/src/libserver/symcache/symcache_item.hxx
@@ -31,6 +31,7 @@
#include "symcache_id_list.hxx"
#include "contrib/expected/expected.hpp"
#include "contrib/libev/ev.h"
+#include "symcache_runtime.hxx"
namespace rspamd::symcache {
@@ -119,7 +120,7 @@ public:
conditions.emplace_back(L, cbref);
}
- auto call(struct rspamd_task *task, struct rspamd_symcache_item *item) const -> void
+ auto call(struct rspamd_task *task, struct rspamd_symcache_dynamic_item *item) const -> void
{
func(task, item, user_data);
}
@@ -369,11 +370,11 @@ public:
return false;
}
- auto call(struct rspamd_task *task) const -> void {
+ auto call(struct rspamd_task *task, cache_dynamic_item *dyn_item) const -> void {
if (std::holds_alternative<normal_item>(specific)) {
const auto &filter_data = std::get<normal_item>(specific);
- filter_data.call(task, (struct rspamd_symcache_item *)this);
+ filter_data.call(task, (struct rspamd_symcache_dynamic_item *)dyn_item);
}
}