summaryrefslogtreecommitdiffstats
path: root/src/libutil/upstream.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-10-29 14:54:18 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-10-29 14:54:18 +0000
commit91b1e25aededed37871c7327b916ddd648f7caaf (patch)
tree476ed055084fb11eb309a2d756e88cdcee6dd4f1 /src/libutil/upstream.h
parent809277294ff1f7e0887ece1c44735a203a5f5b96 (diff)
downloadrspamd-91b1e25aededed37871c7327b916ddd648f7caaf.tar.gz
rspamd-91b1e25aededed37871c7327b916ddd648f7caaf.zip
Some more auxiliary functions.
Diffstat (limited to 'src/libutil/upstream.h')
-rw-r--r--src/libutil/upstream.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libutil/upstream.h b/src/libutil/upstream.h
index a5e3715f9..f6f711034 100644
--- a/src/libutil/upstream.h
+++ b/src/libutil/upstream.h
@@ -4,6 +4,7 @@
#include "config.h"
#include "util.h"
#include "rdns.h"
+#include "ucl.h"
enum rspamd_upstream_rotation {
RSPAMD_UPSTREAM_RANDOM,
@@ -53,6 +54,13 @@ struct upstream_list* rspamd_upstreams_create (void);
void rspamd_upstreams_destroy (struct upstream_list *ups);
/**
+ * Returns count of upstreams in a list
+ * @param ups
+ * @return
+ */
+gsize rspamd_upstreams_count (struct upstream_list *ups);
+
+/**
* Add upstream from the string
* @param ups upstream list
* @param str string in format "name[:port[:priority]]"
@@ -74,6 +82,18 @@ gboolean rspamd_upstreams_add_upstream (struct upstream_list *ups,
gboolean rspamd_upstreams_parse_line (struct upstream_list *ups,
const gchar *str, guint16 def_port, void *data);
+
+/**
+ * Parse upstreams list from the UCL object
+ * @param ups
+ * @param in
+ * @param def_port
+ * @param data
+ * @return
+ */
+gboolean rspamd_upstreams_from_ucl (struct upstream_list *ups,
+ const ucl_object_t *in, guint16 def_port, void *data);
+
/**
* Returns the current IP address of the upstream
* @param up