]> git.meshlink.io Git - meshlink/blobdiff - src/net.c
Move node_tree to mesh->nodes.
[meshlink] / src / net.c
index 87deb97b60d669bf19897a54b6dbd275de644f72..8b118dde6d860b0012a474fc988ce664ad76364a 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -24,6 +24,7 @@
 #include "connection.h"
 #include "graph.h"
 #include "logger.h"
+#include "meshlink_internal.h"
 #include "meta.h"
 #include "net.h"
 #include "netutl.h"
@@ -48,7 +49,7 @@ void purge(void) {
 
        /* Remove all edges owned by unreachable nodes. */
 
-       for splay_each(node_t, n, node_tree) {
+       for splay_each(node_t, n, mesh->nodes) {
                if(!n->status.reachable) {
                        logger(DEBUG_SCARY_THINGS, LOG_DEBUG, "Purging node %s (%s)", n->name, n->hostname);
 
@@ -61,9 +62,9 @@ void purge(void) {
 
        /* Check if anyone else claims to have an edge to an unreachable node. If not, delete node. */
 
-       for splay_each(node_t, n, node_tree) {
+       for splay_each(node_t, n, mesh->nodes) {
                if(!n->status.reachable) {
-                       for splay_each(edge_t, e, edge_weight_tree)
+                       for splay_each(edge_t, e, mesh->edges)
                                if(e->to == n)
                                        return;
                }
@@ -100,7 +101,7 @@ void terminate_connection(connection_t *c, bool report) {
 
                if(report && !c->node->status.reachable) {
                        edge_t *e;
-                       e = lookup_edge(c->node, myself);
+                       e = lookup_edge(c->node, mesh->self);
                        if(e) {
                                send_del_edge(everyone, e);
                                edge_del(e);
@@ -179,7 +180,7 @@ static void periodic_handler(void *data) {
 
        /* If AutoConnect is set, check if we need to make or break connections. */
 
-       if(autoconnect && node_tree->count > 1) {
+       if(autoconnect && mesh->nodes->count > 1) {
                /* Count number of active connections */
                int nc = 0;
                for list_each(connection_t, c, connection_list) {
@@ -193,10 +194,10 @@ static void periodic_handler(void *data) {
                           and we are not already trying to make one, create an
                           outgoing connection to this node.
                        */
-                       int r = rand() % node_tree->count;
+                       int r = rand() % mesh->nodes->count;
                        int i = 0;
 
-                       for splay_each(node_t, n, node_tree) {
+                       for splay_each(node_t, n, mesh->nodes) {
                                if(i++ != r)
                                        continue;
 
@@ -290,7 +291,7 @@ int reload_configuration(void) {
                return EINVAL;
        }
 
-       xasprintf(&fname, "%s" SLASH "hosts" SLASH "%s", confbase, myself->name);
+       xasprintf(&fname, "%s" SLASH "hosts" SLASH "%s", confbase, mesh->self->name);
        read_config_file(config_tree, fname);
        free(fname);