summaryrefslogtreecommitdiffstats
path: root/src/swarm/source.rs
Commit message (Collapse)AuthorAgeFilesLines
* avoid stalled sourcetv26 hours1-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_limittv26 hours1-6/+3
|
* require catch-up source to make progresstv28 hours1-1/+89
|
* add chunked download and use it during rejointv2 days1-1/+1
|
* add swarm statstv3 days1-0/+1
|
* record RTT sampling instanttv3 days1-2/+3
|
* prefer closer sources to catch uptv3 days1-3/+42
|
* enrich keepalive contenttv3 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