#include "list.h"
#include "socket-util.h"
#include "ratelimit.h"
-#include "timesyncd-server.h"
typedef struct Manager Manager;
+#include "timesyncd-server.h"
+
struct Manager {
sd_event *event;
sd_resolve *resolve;
+ LIST_HEAD(ServerName, system_servers);
LIST_HEAD(ServerName, link_servers);
- LIST_HEAD(ServerName, servers);
LIST_HEAD(ServerName, fallback_servers);
RateLimit ratelimit;
+ bool exhausted_servers;
/* network */
sd_event_source *network_event_source;
ServerName *current_server_name;
ServerAddress *current_server_address;
int server_socket;
+ int missed_replies;
uint64_t packet_count;
sd_event_source *event_timeout;
DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
-int manager_parse_config_file(Manager *m);
-int manager_add_server_string(Manager *m, const char *string);
-void manager_flush_names(Manager *m);
+void manager_set_server_name(Manager *m, ServerName *n);
+void manager_set_server_address(Manager *m, ServerAddress *a);
+void manager_flush_server_names(Manager *m, ServerType t);
+
int manager_connect(Manager *m);
void manager_disconnect(Manager *m);