diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2022-05-09 21:25:23 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2022-05-09 21:25:23 +0100 |
commit | 22f603e83dd4fe3fc6d3e9e18b19bc87d57af235 (patch) | |
tree | cecceb5ebef41c6219071b4ea55c5d5c9b492294 /src/libserver/symcache/symcache_item.hxx | |
parent | d0d9673d38dbb2e8aa93ae60bbbc9193e9646902 (diff) | |
download | rspamd-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.hxx | 7 |
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); } } |