From 82615a9d821dd8aaf4240c43352314fc4379f62b Mon Sep 17 00:00:00 2001 From: CadenCoaster <114967401+cadenthecreator@users.noreply.github.com> Date: Sun, 19 Oct 2025 13:42:46 -0700 Subject: [PATCH] Implement default route generation in mesh router Added a function to generate default routes for clients in the distance map. --- meshrouterentrypoint.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/meshrouterentrypoint.lua b/meshrouterentrypoint.lua index d196915..8896482 100644 --- a/meshrouterentrypoint.lua +++ b/meshrouterentrypoint.lua @@ -126,7 +126,14 @@ queue_message({protocol="getroutes"}) interactions.send({protocol="route_erase",destination=os.getComputerID()}) queue_message({protocol="route",destination=os.getComputerID(),distance=0}) local heartbeat = false - +local function generate_default_routes() + local map = {} + map[os.computerID()] = {dist = 0, sender = os.computerID()} + for client,_ in pairs(clients) do + map[client] = {dist = 1, sender = client} + end + return map +end local function recieve() while true do local _, msg = interactions.receive() @@ -188,8 +195,7 @@ while true do if (not msg.visited) then msg.visited = {} end msg.visited[#msg.visited+1] = os.getComputerID() print("rerouting") - distancemap = {} - distancemap[os.computerID()] = {dist = 0, sender = os.computerID()} + distancemap = generate_default_routes() queue_message({protocol="getroutes"}) queue_message(msg) end @@ -219,6 +225,7 @@ local function heartbeat_f() end end) if not heartbeat then + print(k, "timed out") distancemap[k] = nil queue_message({protocol="reroute"}) end