]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink_internal.h
Move several variables to mesh.
[meshlink] / src / meshlink_internal.h
index 6e59db0e756b8153ed35add1b501818da2076bc3..c21608fe344f562dcb02e07153acded3eb805d25 100644 (file)
 
 #include "system.h"
 
-#include "node.h"
+#include "event.h"
 #include "meshlink.h"
-#include "splay_tree.h"
-
-#define MAXSOCKETS 16
 
 /// A handle for an instance of MeshLink.
 struct meshlink_handle {
@@ -39,15 +36,23 @@ struct meshlink_handle {
        meshlink_log_level_t log_level;
 
        pthread_t thread;
-       listen_socket_t listen_socket[MAXSOCKETS];
+       struct list_t *sockets;
 
-       struct node_t *myself;
+       struct node_t *self;
 
        struct splay_tree_t *config;
        struct splay_tree_t *edges;
        struct splay_tree_t *nodes;
 
-       struct list_t *outgoing_connections;
+       struct list_t *connections;
+       struct list_t *outgoings;
+
+       int contradicting_add_edge;
+       int contradicting_del_edge;
+       int sleeptime;
+       time_t last_config_check;
+       timeout_t pingtimer;
+       timeout_t periodictimer;
 };
 
 /// A handle for a MeshLink node.
@@ -56,4 +61,10 @@ struct meshlink_node {
        void *priv;
 };
 
+// This is a *temporary* global variable which will keep the compiler happy
+// while refactoring the code to get rid of global variables.
+// TODO: remove this when no other global variables remain.
+
+extern meshlink_handle_t *mesh;
+
 #endif // MESHLINK_INTERNAL_H