X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink_internal.h;h=6aa871717563e8ea07cf813fd9a5be11fddfae89;hb=be83b0af60449c7b35d17d97f2e6dc12f611e831;hp=dd8c7d329f38929e499d3c5b935ba2594d00862f;hpb=a5a8005b2d89712e124ab7295165a3e229abdad5;p=meshlink diff --git a/src/meshlink_internal.h b/src/meshlink_internal.h index dd8c7d32..6aa87171 100644 --- a/src/meshlink_internal.h +++ b/src/meshlink_internal.h @@ -42,8 +42,8 @@ static const char meshlink_invitation_label[] = "MeshLink invitation"; static const char meshlink_tcp_label[] = "MeshLink TCP"; static const char meshlink_udp_label[] = "MeshLink UDP"; -#define MESHLINK_CONFIG_VERSION 1 -#define MESHLINK_INVITATION_VERSION 1 +#define MESHLINK_CONFIG_VERSION 2 +#define MESHLINK_INVITATION_VERSION 2 struct CattaServer; struct CattaSServiceBrowser; @@ -82,6 +82,7 @@ struct meshlink_open_params { typedef struct { int pinginterval; int pingtimeout; + int fast_retry_period; unsigned int min_connects; unsigned int max_connects; int edge_weight; @@ -101,6 +102,7 @@ struct meshlink_handle { meshlink_log_level_t log_level; // The most important network-related members come first + int reachable; int listen_sockets; listen_socket_t listen_socket[MAXSOCKETS]; @@ -128,11 +130,13 @@ struct meshlink_handle { time_t connection_burst_time; time_t last_config_check; time_t last_hard_try; + time_t last_unreachable; timeout_t pingtimer; timeout_t periodictimer; struct connection_t *everyone; uint64_t prng_state[4]; + uint32_t session_id; int next_pit; int pits[10]; @@ -168,7 +172,7 @@ struct meshlink_handle { // Configuration char *confbase; - FILE *conffile; + FILE *lockfile; void *config_key; // Thread management