]> git.meshlink.io Git - meshlink/blobdiff - src/graph.c
Add meshlink_get_all_nodes_by_last_reachable().
[meshlink] / src / graph.c
index d40087d8dc1c65f680c9f55b403f52c3acfc110f..5afa7c32526509a31b610e8153d26c4c41a87829 100644 (file)
@@ -165,12 +165,14 @@ static void check_reachability(meshlink_handle_t *mesh) {
 
                if(n->status.visited != n->status.reachable) {
                        n->status.reachable = !n->status.reachable;
-                       n->last_state_change = mesh->loop.now.tv_sec;
+                       n->status.dirty = true;
 
                        if(n->status.reachable) {
                                logger(mesh, MESHLINK_DEBUG, "Node %s became reachable", n->name);
+                               n->last_reachable = mesh->loop.now.tv_sec;
                        } else {
                                logger(mesh, MESHLINK_DEBUG, "Node %s became unreachable", n->name);
+                               n->last_unreachable = mesh->loop.now.tv_sec;
                        }
 
                        /* TODO: only clear status.validkey if node is unreachable? */