summaryrefslogtreecommitdiffstats
path: root/src/libserver/monitored.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-07-06 08:32:21 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-07-06 08:32:21 +0100
commit07b8d8cb2d14a357f196afcb42aa8469b43a6167 (patch)
tree73a56583201f9fb293a141406a1fdf615facd1c1 /src/libserver/monitored.h
parent5edc6c8a10ad9f325d6e6bc1b0d4aed12e58a9e1 (diff)
downloadrspamd-07b8d8cb2d14a357f196afcb42aa8469b43a6167.tar.gz
rspamd-07b8d8cb2d14a357f196afcb42aa8469b43a6167.zip
[Rework] Allow to use custom callback for monitored checks
Diffstat (limited to 'src/libserver/monitored.h')
-rw-r--r--src/libserver/monitored.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libserver/monitored.h b/src/libserver/monitored.h
index 4c55a5646..e342a5886 100644
--- a/src/libserver/monitored.h
+++ b/src/libserver/monitored.h
@@ -38,6 +38,9 @@ enum rspamd_monitored_flags {
*/
struct rspamd_monitored_ctx *rspamd_monitored_ctx_init (void);
+typedef void (*mon_change_cb) (struct rspamd_monitored_ctx *ctx,
+ struct rspamd_monitored *m, gboolean alive,
+ void *ud);
/**
* Configure context for monitored objects
* @param ctx context
@@ -48,7 +51,9 @@ struct rspamd_monitored_ctx *rspamd_monitored_ctx_init (void);
void rspamd_monitored_ctx_config (struct rspamd_monitored_ctx *ctx,
struct rspamd_config *cfg,
struct event_base *ev_base,
- struct rdns_resolver *resolver);
+ struct rdns_resolver *resolver,
+ mon_change_cb change_cb,
+ gpointer ud);
/**
* Create monitored object
@@ -73,6 +78,13 @@ struct rspamd_monitored *rspamd_monitored_create (
gboolean rspamd_monitored_alive (struct rspamd_monitored *m);
/**
+ * Force alive flag for a monitored object
+ * @param m monitored object
+ * @return TRUE or FALSE
+ */
+gboolean rspamd_monitored_set_alive (struct rspamd_monitored *m, gboolean alive);
+
+/**
* Returns the current offline time for a monitored object
* @param m
* @return