54 Commits (168b86fdcd8f2a590ea59710dfbfb67c8d8c5cef)

Author SHA1 Message Date
Adam Ierymenko 2f18a92e20 Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route. 10 years ago
Adam Ierymenko d8b89b0c86 Fix Cluster to send from a designated endpoint address instead of wildcard. 10 years ago
Adam Ierymenko 4e4fd51117 boring doc stuff 10 years ago
Adam Ierymenko 0d9f33dc4f Fix: (1) Windows stack overflow due to buffer too large in peer deserialize, (2) clean up some other stuff seen during debugging and reduce the sizes of some buffers due to Windows small stack size, (3) remove a redundant try/catch. 10 years ago
Adam Ierymenko 451b8aa7b2 Query both root and network controller for multicast last resort GATHER. 10 years ago
Adam Ierymenko 4328c6c3bc Fix delete oldest logic. 10 years ago
Adam Ierymenko b171c9a0db Replace slow std::list<> with an O(log(N)) data structure for the cluster relaying send queue. 10 years ago
Adam Ierymenko 32ec378e3b Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http. 11 years ago
Adam Ierymenko 35c4e28f31 Mark geo-redirected paths as suboptimal and do not report that we have a peer if all we have is one of these. Also a few other small fixes. 11 years ago
Adam Ierymenko 47424df417 Fix (1) a deadlock bug and (2) a bug that prevented distributed rendezvous messages from being sent. 11 years ago
Adam Ierymenko 73e2c6e511 How did that ever work? 11 years ago
Adam Ierymenko 4ad2ff2f71 . 11 years ago
Adam Ierymenko b57c855a8c PROXY_SEND fix. 11 years ago
Adam Ierymenko ed954c5ca2 . 11 years ago
Adam Ierymenko 21341ab15c Ready to test. 11 years ago
Adam Ierymenko ff81415ffe Build fixes... 11 years ago
Adam Ierymenko 57b71bfff0 Cluster simplification and refactor work in progress... 11 years ago
Adam Ierymenko 6bc8c9d8ef Clustering cleanup, still a work in progress. 11 years ago
Adam Ierymenko 5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 11 years ago
Adam Ierymenko 8ea5f424fd Small amount of cleanup. 11 years ago
Adam Ierymenko 3fa1b5a89d Make cluster HAVE_PEER a little lighter by removing full identity. Technically this is not necessary and they will propagate over time in any case. Might restore it in some form in the future. 11 years ago
Adam Ierymenko 60ce886605 Tweak some timings for better reliability. 11 years ago
Adam Ierymenko 1b4cc4af5c Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup. 11 years ago
Adam Ierymenko d6c0d176ee Periodically re-announce peers that we have. 11 years ago
Adam Ierymenko 68d6d3c4ff Fix bug in peer count. 11 years ago
Adam Ierymenko 51fcc75354 Some cleanup, and use getPeerNoCache() exclusively in Cluster. 11 years ago
Adam Ierymenko 4221552c0b Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere. 11 years ago
Adam Ierymenko cc1b275ad9 Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not. 11 years ago
Adam Ierymenko cc6080fe38 (1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking. 11 years ago
Adam Ierymenko 16bc3e0398 Factor out RemotePath subclass of Path -- no longer needed, just cruft. 11 years ago
Adam Ierymenko 40976c02a4 Forget paths to peers if we are handing them off. 11 years ago
Adam Ierymenko f692cec763 Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues. 11 years ago
Adam Ierymenko a1a0ee4edb Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks) 11 years ago
Adam Ierymenko 8a7a0b6b88 Cleanup, including simplification of root server picking algorithm since we no longer need all that craziness. 11 years ago
Adam Ierymenko 69857b4ba8 Refactor cluster redirects to move code to push peers out of the actual Cluster function that checks for redirect, and clean up Peer::received() to be a bit more logical. 11 years ago
Adam Ierymenko 98d856daa2 Only send redirects to the sending InetAddress and only in response to a set of certain frame types to avoid potential race conditions. 11 years ago
Adam Ierymenko 8bfb02ba3c Only send redirects for the same address class, and elminiate some TRACE noise. 11 years ago
Adam Ierymenko debed1ac2d Expose cluster status in /status JSON response. 11 years ago
Adam Ierymenko 865acfa40f Cluster status plumbing. 11 years ago
Adam Ierymenko 35676217e8 Refactor multicast group announcement to work directly or indirectly. 11 years ago
Adam Ierymenko 29b966894c (1) Fix bug in geo-ip service that prevented cache lookup, (2) fix problem in SelfAwareness (will need to test ALL versions in the wild with this), and (3) add more TRACE instrumentation to Cluster. 11 years ago
Adam Ierymenko 964b30902a Cluster fix: was accumulating remote endpoints endlessly. 11 years ago
Adam Ierymenko 7711eba297 More cluster wiring... 11 years ago
Adam Ierymenko 978b056a01 Wire in redirectPeer(), now about ready to test clustering! 11 years ago
Adam Ierymenko 6a7b47e5e1 Forgot a return true. 11 years ago
Adam Ierymenko d6dee7bb5c Clustered handling of relaying. 11 years ago
Adam Ierymenko 35a12b94ea Outfit Cluster with TRACE for debugging. 11 years ago
Adam Ierymenko 59e1444b27 Finish wiring up Cluster, fix some issues with other recent changes. 11 years ago
Adam Ierymenko eb79d4a2f3 Wire up peer announcement in cluster. 11 years ago
Adam Ierymenko 57e29857cf Cluster work -- integrating with the rest of the code. 11 years ago