summaryrefslogtreecommitdiffstats
path: root/src/swarm/source.rs
Commit message (Collapse)AuthorAgeFilesLines
* rename PING/PONG to STATUS/STATUS_REPLYtv15 hours1-2/+2
|
* talk about "transport" unless mycelium is meanttv40 hours1-11/+11
|
* unify lock logictv3 days1-12/+4
|
* refresh peers after stalltv3 days1-1/+6
|
* avoid stalled sourcetv3 days1-2/+24
| | | | | | | | | | | | | A source given up for not answering our sync messages could become the source again straight away. Whoever asks first after the reset takes the role, and that's often the same peer, which would then stall for another delivery limit. Now, a stalled source isn't chosen again for one more delivery_limit. If it's the only candidate, catching up waits that long and then tries it again. Before, a retry with that peer couldn't have helped any sooner anyway: a source is only given up after a whole delivery limit without a sync message, and that clock restarts when it is chosen again.
* MYCELIUM_DELIVERY_LIMIT -> Timing::delivery_limittv3 days1-6/+3
|
* require catch-up source to make progresstv3 days1-1/+89
|
* add chunked download and use it during rejointv4 days1-1/+1
|
* add swarm statstv4 days1-0/+1
|
* record RTT sampling instanttv5 days1-2/+3
|
* prefer closer sources to catch uptv5 days1-3/+42
|
* enrich keepalive contenttv5 days1-0/+169
Add ready and syncs_with_you flags as well as actual heads, so the peer - ready: same meaning as in the sync message - syncs_with_you: sender counts recipient as member and in same epoch - heads: allows to tell who's behind or if both sides have changes