summaryrefslogtreecommitdiffstats
path: root/src/providers/fail_over.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/fail_over.h')
-rw-r--r--src/providers/fail_over.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/providers/fail_over.h b/src/providers/fail_over.h
index ffcd06877..70e694fee 100644
--- a/src/providers/fail_over.h
+++ b/src/providers/fail_over.h
@@ -30,6 +30,9 @@
#include "resolv/async_resolv.h"
+#define FO_PROTO_TCP "tcp"
+#define FO_PROTO_UDP "udp"
+
/* Some forward declarations that don't have to do anything with fail over. */
struct hostent;
struct tevent_context;
@@ -60,10 +63,14 @@ struct fo_server;
* duration in seconds of how long a server or port will be considered
* non-working after being marked as such.
*
+ * The 'srv_retry_timeout' member specifies how long a SRV lookup
+ * is considered valid until we ask the server again.
+ *
* The family_order member specifies the order of address families to
* try when looking up the service.
*/
struct fo_options {
+ time_t srv_retry_timeout;
time_t retry_timeout;
enum restrict_family family_order;
};
@@ -101,6 +108,13 @@ int fo_add_server(struct fo_service *service,
int port,
void *user_data);
+
+int fo_add_srv_server(struct fo_service *service,
+ const char *srv,
+ const char *domain,
+ const char *proto,
+ void *user_data);
+
/*
* Request the first server from the service's list of servers. It is only
* considered if it is not marked as not working (or the retry interval already