summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rspamd.com>2022-04-20 19:17:31 +0100
committerVsevolod Stakhov <vsevolod@rspamd.com>2022-04-20 19:17:31 +0100
commitc4e0e7d223add5272fcebd4f54bcbc38b6fe37de (patch)
treee1ce4067fca914ec93bbbe95e714d19dde88c38e
parentaf563a9c416845d9b4c40dd07d5c038cb47495d3 (diff)
downloadrspamd-c4e0e7d223add5272fcebd4f54bcbc38b6fe37de.tar.gz
rspamd-c4e0e7d223add5272fcebd4f54bcbc38b6fe37de.zip
[Minor] Add some more methods
-rw-r--r--src/libserver/symcache/symcache_c.cxx7
-rw-r--r--src/libserver/symcache/symcache_item.hxx4
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libserver/symcache/symcache_c.cxx b/src/libserver/symcache/symcache_c.cxx
index 5d1711ed9..29aa1d91d 100644
--- a/src/libserver/symcache/symcache_c.cxx
+++ b/src/libserver/symcache/symcache_c.cxx
@@ -175,4 +175,11 @@ rspamd_symcache_start_refresh (struct rspamd_symcache *cache,
{
auto *real_cache = C_API_SYMCACHE(cache);
return new rspamd::symcache::cache_refresh_cbdata{real_cache, ev_base, w};
+}
+
+void
+rspamd_symcache_inc_frequency(struct rspamd_symcache *_cache, struct rspamd_symcache_item *item)
+{
+ auto *real_item = C_API_SYMCACHE_ITEM(item);
+ real_item->inc_frequency();
} \ No newline at end of file
diff --git a/src/libserver/symcache/symcache_item.hxx b/src/libserver/symcache/symcache_item.hxx
index d68178043..c5b6c8ff7 100644
--- a/src/libserver/symcache/symcache_item.hxx
+++ b/src/libserver/symcache/symcache_item.hxx
@@ -282,6 +282,10 @@ public:
double cur_time,
double last_resort) -> bool;
+ auto inc_frequency() -> void {
+ g_atomic_int_inc(&st->hits);
+ }
+
private:
/**
* Constructor for a normal symbols with callback