Commit History

Author SHA1 Message Date
  Adam Ierymenko 4328c6c3bc Fix delete oldest logic. 9 years ago
  Adam Ierymenko b171c9a0db Replace slow std::list<> with an O(log(N)) data structure for the cluster relaying send queue. 9 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. 9 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. 9 years ago
  Adam Ierymenko 47424df417 Fix (1) a deadlock bug and (2) a bug that prevented distributed rendezvous messages from being sent. 9 years ago
  Adam Ierymenko 73e2c6e511 How did that ever work? 9 years ago
  Adam Ierymenko 4ad2ff2f71 . 9 years ago
  Adam Ierymenko b57c855a8c PROXY_SEND fix. 9 years ago
  Adam Ierymenko ed954c5ca2 . 9 years ago
  Adam Ierymenko 21341ab15c Ready to test. 9 years ago
  Adam Ierymenko ff81415ffe Build fixes... 9 years ago
  Adam Ierymenko 57b71bfff0 Cluster simplification and refactor work in progress... 9 years ago
  Adam Ierymenko 6bc8c9d8ef Clustering cleanup, still a work in progress. 9 years ago
  Adam Ierymenko 5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 9 years ago
  Adam Ierymenko 8ea5f424fd Small amount of cleanup. 9 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. 9 years ago
  Adam Ierymenko 60ce886605 Tweak some timings for better reliability. 9 years ago
  Adam Ierymenko 1b4cc4af5c Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup. 9 years ago
  Adam Ierymenko d6c0d176ee Periodically re-announce peers that we have. 9 years ago
  Adam Ierymenko 68d6d3c4ff Fix bug in peer count. 9 years ago
  Adam Ierymenko 51fcc75354 Some cleanup, and use getPeerNoCache() exclusively in Cluster. 9 years ago
  Adam Ierymenko 4221552c0b Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere. 9 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. 9 years ago
  Adam Ierymenko cc6080fe38 (1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking. 9 years ago
  Adam Ierymenko 16bc3e0398 Factor out RemotePath subclass of Path -- no longer needed, just cruft. 9 years ago
  Adam Ierymenko 40976c02a4 Forget paths to peers if we are handing them off. 9 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. 9 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) 9 years ago
  Adam Ierymenko 8a7a0b6b88 Cleanup, including simplification of root server picking algorithm since we no longer need all that craziness. 9 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. 9 years ago