Browse Source

[Minor] Add auxiliary functions for symbols cache

tags/1.7.0
Vsevolod Stakhov 7 years ago
parent
commit
5a5db39707
2 changed files with 25 additions and 0 deletions
  1. 13
    0
      src/libserver/symbols_cache.c
  2. 12
    0
      src/libserver/symbols_cache.h

+ 13
- 0
src/libserver/symbols_cache.c View File

@@ -2462,3 +2462,16 @@ rspamd_symbols_cache_is_symbol_enabled (struct rspamd_task *task,

return ret;
}

void
rspamd_symbols_cache_foreach (struct symbols_cache *cache,
void (*func)(gint , const gchar *, gint , gpointer ),
gpointer ud)
{
guint i;
struct cache_item *item;

PTR_ARRAY_FOREACH (cache->items_by_id, i, item) {
func (item->id, item->symbol, item->type, ud);
}
}

+ 12
- 0
src/libserver/symbols_cache.h View File

@@ -40,6 +40,7 @@ enum rspamd_symbol_type {
SYMBOL_TYPE_EMPTY = (1 << 8), /* Allow execution on empty tasks */
SYMBOL_TYPE_PREFILTER = (1 << 9),
SYMBOL_TYPE_POSTFILTER = (1 << 10),
SYMBOL_TYPE_NONSTAT = (1 << 11), /* Skip as statistical symbol */
};

/**
@@ -290,4 +291,15 @@ guint64 rspamd_symbols_cache_get_cksum (struct symbols_cache *cache);
*/
gboolean rspamd_symbols_cache_is_symbol_enabled (struct rspamd_task *task,
struct symbols_cache *cache, const gchar *symbol);
/**
* Process specific function for each cache element (in order they are added)
* @param cache
* @param func
* @param ud
*/
void rspamd_symbols_cache_foreach (struct symbols_cache *cache,
void (*func)(gint /* id */, const gchar * /* name */,
gint /* flags */, gpointer /* userdata */),
gpointer ud);

#endif

Loading…
Cancel
Save