aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil/map_private.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-06-21 16:15:03 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-06-21 16:15:03 +0100
commit546a54a8275c9e6fd59b1de1c2843bcb0dedf992 (patch)
tree8b6e97d61c6fea6476d8cba9662127d5f573afcd /src/libutil/map_private.h
parent85fa167ae3b03da2ed354f96ac395972c455770c (diff)
downloadrspamd-546a54a8275c9e6fd59b1de1c2843bcb0dedf992.tar.gz
rspamd-546a54a8275c9e6fd59b1de1c2843bcb0dedf992.zip
[Feature] Implement inter-process maps caching
Diffstat (limited to 'src/libutil/map_private.h')
-rw-r--r--src/libutil/map_private.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libutil/map_private.h b/src/libutil/map_private.h
index dc5a9de4d..ca4174821 100644
--- a/src/libutil/map_private.h
+++ b/src/libutil/map_private.h
@@ -59,6 +59,13 @@ struct rspamd_map_backend {
ref_entry_t ref;
};
+struct rspamd_map_cachepoint {
+ gint available;
+ gsize len;
+ time_t last_checked;
+ gchar shmem_name[256];
+};
+
struct rspamd_map {
struct rspamd_dns_resolver *r;
struct rspamd_config *cfg;
@@ -75,6 +82,8 @@ struct rspamd_map {
gdouble poll_timeout;
/* Shared lock for temporary disabling of map reading (e.g. when this map is written by UI) */
gint *locked;
+ /* Shared cache data */
+ struct rspamd_map_cachepoint *cache;
gchar tag[MEMPOOL_UID_LEN];
rspamd_map_dtor dtor;
gpointer dtor_data;