diff options
| author | Alexander M Pickering <alex@cogarr.net> | 2025-01-19 15:23:06 -0600 |
|---|---|---|
| committer | Alexander M Pickering <alex@cogarr.net> | 2025-01-19 15:23:06 -0600 |
| commit | da9dd31f504d30f33922cdf362a7c01673a6b927 (patch) | |
| tree | 6e3247dc8f57c16fd02d7ac07246d82c8ab65ccb /src/router.moon | |
| parent | 90ee66a3a6aae10fd84f3f43844db55229933e37 (diff) | |
| download | ggj25-da9dd31f504d30f33922cdf362a7c01673a6b927.tar.gz ggj25-da9dd31f504d30f33922cdf362a7c01673a6b927.tar.bz2 ggj25-da9dd31f504d30f33922cdf362a7c01673a6b927.zip | |
Last commit before theme release
Diffstat (limited to 'src/router.moon')
| -rw-r--r-- | src/router.moon | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/router.moon b/src/router.moon index 7ef9bfc..e414f07 100644 --- a/src/router.moon +++ b/src/router.moon @@ -72,7 +72,7 @@ net.register_message("Simplify",{required:{ --Testing net.register_message("Raw",{optional:{s:"string"}}) - +router_singleton = nil class Queue new: () => @queue = {} @@ -86,15 +86,17 @@ class Router @peerlist = {} @routes = {} - -- "uninitalized", "peer", "candidate", "elected" - @state = "unitialized" + -- "uninitialized", "peer", "candidate", "elected" + @state = "uninitialized" -- [peerid] = "votes for peerid" + @nonce = 0 @prevotes = {} @term = 0 -- The uncommited queue @uncommited = Queue! + router_singleton = @ initalize: (id) => @set_route("RequestClusterInfo",(conn, message) => @@ -242,4 +244,10 @@ class Router else log.warn("No message callback registered for format " .. msgfmt .. " routes are: " .. tostring(@routes), {"net"}) -{:Router} +node = am.group! +node\update(() -> + if router_singleton and router_singleton.state ~= "uninitalized" + net.pump! + coroutine.yield! +) +{:Router, :node} |
