gdouble stddev_frequency;
};
-struct cache_item {
+struct rspamd_symcache_item {
/* This block is likely shared */
struct item_stat *st;
};
struct cache_dependency {
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
gchar *sym;
gint id;
};
static gboolean rspamd_symbols_cache_check_symbol (struct rspamd_task *task,
struct symbols_cache *cache,
- struct cache_item *item,
+ struct rspamd_symcache_item *item,
struct cache_savepoint *checkpoint,
gdouble *total_diff);
static gboolean rspamd_symbols_cache_check_deps (struct rspamd_task *task,
struct symbols_cache *cache,
- struct cache_item *item,
+ struct rspamd_symcache_item *item,
struct cache_savepoint *checkpoint,
guint recursion,
gboolean check_only);
static gint
postfilters_cmp (const void *p1, const void *p2, gpointer ud)
{
- const struct cache_item *i1 = *(struct cache_item **)p1,
- *i2 = *(struct cache_item **)p2;
+ const struct rspamd_symcache_item *i1 = *(struct rspamd_symcache_item **)p1,
+ *i2 = *(struct rspamd_symcache_item **)p2;
double w1, w2;
w1 = i1->priority;
static gint
prefilters_cmp (const void *p1, const void *p2, gpointer ud)
{
- const struct cache_item *i1 = *(struct cache_item **)p1,
- *i2 = *(struct cache_item **)p2;
+ const struct rspamd_symcache_item *i1 = *(struct rspamd_symcache_item **)p1,
+ *i2 = *(struct rspamd_symcache_item **)p2;
double w1, w2;
w1 = i1->priority;
static gint
cache_logic_cmp (const void *p1, const void *p2, gpointer ud)
{
- const struct cache_item *i1 = *(struct cache_item **)p1,
- *i2 = *(struct cache_item **)p2;
+ const struct rspamd_symcache_item *i1 = *(struct rspamd_symcache_item **)p1,
+ *i2 = *(struct rspamd_symcache_item **)p2;
struct symbols_cache *cache = ud;
double w1, w2;
double weight1, weight2;
static void
rspamd_symbols_cache_tsort_visit (struct symbols_cache *cache,
- struct cache_item *it,
+ struct rspamd_symcache_item *it,
guint cur_order)
{
struct cache_dependency *dep;
struct symbols_cache_order *ord;
guint i;
guint64 total_hits = 0;
- struct cache_item *it;
+ struct rspamd_symcache_item *it;
ord = rspamd_symbols_cache_order_new (cache, cache->used_items);
static void
rspamd_symbols_cache_post_init (struct symbols_cache *cache)
{
- struct cache_item *it, *dit;
+ struct rspamd_symcache_item *it, *dit;
struct cache_dependency *dep, *rdep;
struct delayed_cache_dependency *ddep;
struct delayed_cache_condition *dcond;
ucl_object_t *top;
const ucl_object_t *cur, *elt;
ucl_object_iter_t it;
- struct cache_item *item, *parent;
+ struct rspamd_symcache_item *item, *parent;
const guchar *p;
gint fd;
gpointer map;
struct rspamd_symbols_cache_header hdr;
ucl_object_t *top, *elt, *freq;
GHashTableIter it;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
struct ucl_emitter_functions *efunc;
gpointer k, v;
gint fd;
enum rspamd_symbol_type type,
gint parent)
{
- struct cache_item *item = NULL;
+ struct rspamd_symcache_item *item = NULL;
g_assert (cache != NULL);
}
item = rspamd_mempool_alloc0 (cache->static_pool,
- sizeof (struct cache_item));
+ sizeof (struct rspamd_symcache_item));
item->st = rspamd_mempool_alloc0_shared (cache->static_pool,
sizeof (*item->st));
item->condition_cb = -1;
rspamd_symbols_cache_add_condition (struct symbols_cache *cache, gint id,
lua_State *L, gint cbref)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
static void
rspamd_symbols_cache_validate_cb (gpointer k, gpointer v, gpointer ud)
{
- struct cache_item *item = v, *parent;
+ struct rspamd_symcache_item *item = v, *parent;
struct rspamd_config *cfg;
struct symbols_cache *cache = (struct symbols_cache *)ud;
struct rspamd_symbol *s;
const gchar *sym = k;
struct rspamd_symbol *s = (struct rspamd_symbol *)v;
gdouble weight;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
weight = *s->weight_ptr;
item = g_hash_table_lookup (cache->items_by_symbol, sym);
struct rspamd_config *cfg,
gboolean strict)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
GHashTableIter it;
gpointer k, v;
struct rspamd_symbol *sym_def;
rspamd_symbols_cache_watcher_cb (gpointer sessiond, gpointer ud)
{
struct rspamd_task *task = sessiond;
- struct cache_item *item = ud, *it;
+ struct rspamd_symcache_item *item = ud, *it;
struct cache_savepoint *checkpoint;
struct symbols_cache *cache;
gint i, remain = 0;
static gboolean
rspamd_symbols_cache_check_symbol (struct rspamd_task *task,
struct symbols_cache *cache,
- struct cache_item *item,
+ struct rspamd_symcache_item *item,
struct cache_savepoint *checkpoint,
gdouble *total_diff)
{
t1 = rspamd_get_ticks (FALSE);
#endif
- item->func (task, item->user_data);
+ item->func (task, item, item->user_data);
#ifdef HAVE_EVENT_NO_CACHE_TIME_FUNC
event_base_update_cache_time (task->ev_base);
static gboolean
rspamd_symbols_cache_check_deps (struct rspamd_task *task,
struct symbols_cache *cache,
- struct cache_item *item,
+ struct rspamd_symcache_item *item,
struct cache_savepoint *checkpoint,
guint recursion,
gboolean check_only)
check_only)) {
gboolean found = FALSE;
guint j;
- struct cache_item *tmp_it;
+ struct rspamd_symcache_item *tmp_it;
PTR_ARRAY_FOREACH (checkpoint->waitq, j, tmp_it) {
if (item->id == tmp_it->id) {
rspamd_symbols_cache_process_symbols (struct rspamd_task * task,
struct symbols_cache *cache, gint stage)
{
- struct cache_item *item = NULL;
+ struct rspamd_symcache_item *item = NULL;
struct cache_savepoint *checkpoint;
gint i;
gdouble total_ticks = 0;
checkpoint, 0, FALSE)) {
gboolean found = FALSE;
guint j;
- struct cache_item *tmp_it;
+ struct rspamd_symcache_item *tmp_it;
msg_debug_task ("blocked execution of %d(%s) unless deps are "
"resolved",
{
struct counters_cbdata *cbd = ud;
ucl_object_t *obj, *top;
- struct cache_item *item = v, *parent;
+ struct rspamd_symcache_item *item = v, *parent;
top = cbd->top;
static void
rspamd_symbols_cache_call_peak_cb (struct event_base *ev_base,
struct symbols_cache *cache,
- struct cache_item *item,
+ struct rspamd_symcache_item *item,
gdouble cur_value,
gdouble cur_err)
{
gdouble tm;
struct rspamd_cache_refresh_cbdata *cbdata = ud;
struct symbols_cache *cache;
- struct cache_item *item, *parent;
+ struct rspamd_symcache_item *item, *parent;
guint i;
gdouble cur_ticks;
static const double decay_rate = 0.7;
rspamd_symbols_cache_inc_frequency (struct symbols_cache *cache,
const gchar *symbol)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
rspamd_symbols_cache_add_dependency (struct symbols_cache *cache,
gint id_from, const gchar *to)
{
- struct cache_item *source;
+ struct rspamd_symcache_item *source;
struct cache_dependency *dep;
g_assert (id_from < (gint)cache->items_by_id->len);
gint
rspamd_symbols_cache_find_symbol (struct symbols_cache *cache, const gchar *name)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
const gchar *name, gdouble *frequency, gdouble *freq_stddev,
gdouble *tm, guint *nhits)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
rspamd_symbols_cache_find_symbol_parent (struct symbols_cache *cache,
const gchar *name)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
rspamd_symbols_cache_symbol_by_id (struct symbols_cache *cache,
gint id)
{
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
struct symbols_cache *cache, const gchar *symbol)
{
struct cache_savepoint *checkpoint;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
gint id;
if (task->checkpoint == NULL) {
struct symbols_cache *cache, const gchar *symbol)
{
struct cache_savepoint *checkpoint;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
gint id;
if (task->checkpoint == NULL) {
const gchar *symbol)
{
gint id;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
g_assert (symbol != NULL);
const gchar *symbol, struct rspamd_abstract_callback_data *cbdata)
{
gint id;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
g_assert (symbol != NULL);
const gchar *symbol)
{
gint id;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
g_assert (symbol != NULL);
const gchar *symbol)
{
gint id;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
g_assert (cache != NULL);
g_assert (symbol != NULL);
{
gint id;
struct cache_savepoint *checkpoint;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
lua_State *L;
struct rspamd_task **ptask;
gboolean ret = TRUE;
gpointer ud)
{
guint i;
- struct cache_item *item;
+ struct rspamd_symcache_item *item;
PTR_ARRAY_FOREACH (cache->items_by_id, i, item) {
func (item->id, item->symbol, item->type, ud);