commit 3e2508b: [Minor] Hide complex function
Vsevolod Stakhov
vsevolod at rspamd.com
Mon Aug 8 20:49:03 UTC 2022
Author: Vsevolod Stakhov
Date: 2022-08-08 21:43:08 +0100
URL: https://github.com/rspamd/rspamd/commit/3e2508b08f865d9da9cc23a28a76a916ebe0d7e3 (HEAD -> master)
[Minor] Hide complex function
---
src/libserver/symcache/symcache_item.cxx | 25 +++++++++++++++++++++++++
src/libserver/symcache/symcache_item.hxx | 24 +-----------------------
2 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/src/libserver/symcache/symcache_item.cxx b/src/libserver/symcache/symcache_item.cxx
index 7e44706dd..5f37de8a7 100644
--- a/src/libserver/symcache/symcache_item.cxx
+++ b/src/libserver/symcache/symcache_item.cxx
@@ -267,6 +267,31 @@ auto cache_item::update_counters_check_peak(lua_State *L,
return ret;
}
+auto cache_item::inc_frequency(const char *sym_name, symcache &cache) -> void
+{
+ if (sym_name && symbol != sym_name) {
+ if (is_filter()) {
+ /* Likely a callback symbol with some virtual symbol that needs to be adjusted */
+ for (const auto &cld: get_children().value().get()) {
+ if (cld->get_name() == sym_name) {
+ cld->inc_frequency(sym_name, cache);
+ }
+ }
+ }
+ else {
+ /* Name not equal to symbol name, so we need to find the proper name */
+ auto *another_item = cache.get_item_by_name_mut(sym_name, false);
+ if (another_item != nullptr) {
+ another_item->inc_frequency(sym_name, cache);
+ }
+ }
+ }
+ else {
+ /* Symbol and sym name are the same */
+ g_atomic_int_inc(&st->hits);
+ }
+}
+
auto cache_item::get_type_str() const -> const char *
{
switch (type) {
diff --git a/src/libserver/symcache/symcache_item.hxx b/src/libserver/symcache/symcache_item.hxx
index 594e4bddf..435a19abf 100644
--- a/src/libserver/symcache/symcache_item.hxx
+++ b/src/libserver/symcache/symcache_item.hxx
@@ -343,29 +343,7 @@ public:
/**
* Increase frequency for a symbol
*/
- auto inc_frequency(const char *sym_name, symcache &cache) -> void {
- if (sym_name && symbol != sym_name) {
- if (is_filter()) {
- /* Likely a callback symbol with some virtual symbol that needs to be adjusted */
- for (const auto &cld: get_children().value().get()) {
- if (cld->get_name() == sym_name) {
- cld->inc_frequency(sym_name, cache);
- }
- }
- }
- else {
- /* Name not equal to symbol name, so we need to find the proper name */
- auto *another_item = cache.get_item_by_name_mut(sym_name, false);
- if (another_item != nullptr) {
- another_item->inc_frequency(sym_name, cache);
- }
- }
- }
- else {
- /* Symbol and sym name are the same */
- g_atomic_int_inc(&st->hits);
- }
- }
+ auto inc_frequency(const char *sym_name, symcache &cache) -> void;
/**
* Check if an item is allowed to be executed not checking item conditions
More information about the Commits
mailing list