xenserver: Don't touch /etc/xensource/network.conf on upgrade.
[openvswitch] / lib / reconnect.h
index d0790ec6f797ce3f8d0e7c152523745ea139aba8..52f1001f18961a0f9fd9c603cac6b0154d4c84d7 100644 (file)
 struct reconnect *reconnect_create(long long int now);
 void reconnect_destroy(struct reconnect *);
 
+void reconnect_set_quiet(struct reconnect *, bool quiet);
+
 const char *reconnect_get_name(const struct reconnect *);
 void reconnect_set_name(struct reconnect *, const char *name);
 
+/* Defaults, all in msecs. */
+#define RECONNECT_DEFAULT_MIN_BACKOFF 1000
+#define RECONNECT_DEFAULT_MAX_BACKOFF 8000
+#define RECONNECT_DEFAULT_PROBE_INTERVAL 5000
+
 int reconnect_get_min_backoff(const struct reconnect *);
 int reconnect_get_max_backoff(const struct reconnect *);
 int reconnect_get_probe_interval(const struct reconnect *);
@@ -62,6 +69,8 @@ void reconnect_force_reconnect(struct reconnect *, long long int now);
 bool reconnect_is_connected(const struct reconnect *);
 unsigned int reconnect_get_connection_duration(const struct reconnect *,
                                                long long int now);
+unsigned int reconnect_get_disconnect_duration(const struct reconnect *,
+                                               long long int now);
 
 void reconnect_disconnected(struct reconnect *, long long int now, int error);
 void reconnect_connecting(struct reconnect *, long long int now);
@@ -86,12 +95,14 @@ struct reconnect_stats {
     long long int creation_time;  /* Time reconnect_create() called. */
     long long int last_received; /* Last call to reconnect_received(). */
     long long int last_connected; /* Last call to reconnect_connected(). */
+    long long int last_disconnected; /* Last call to reconnect_disconnected(). */
     int backoff;                  /* Current backoff duration.  */
 
     unsigned int seqno;         /* # of connections + # of disconnections. */
 
     bool is_connected;          /* Currently connected? */
     unsigned int current_connection_duration; /* Time of current connection. */
+    unsigned int current_disconnect_duration; /* Time disconnected (if disconnected). */
     unsigned int total_connected_duration;    /* Sum of all connections. */
     unsigned int n_attempted_connections;
     unsigned int n_successful_connections;