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 |