#include "system.h"
+#include "event.h"
#include "meshlink.h"
-#include "list.h"
-#include "splay_tree.h"
-
-#define MAXSOCKETS 16
/// A handle for an instance of MeshLink.
struct meshlink_handle {
pthread_t thread;
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.
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