aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/source.rs
Commit message (Collapse)AuthorAgeFilesLines
* peer worker sleeps until deadline, not fixed timetv7 days1-0/+16
|
* unify request_sync logictv9 days1-3/+2
|
* unify source resettv9 days1-3/+9
|
* rename PING/PONG to STATUS/STATUS_REPLYtv12 days1-2/+2
|
* talk about "transport" unless mycelium is meanttv13 days1-11/+11
|
* unify lock logictv14 days1-12/+4
|
* refresh peers after stalltv14 days1-1/+6
|
* avoid stalled sourcetv2026-10-251-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_limittv2026-10-251-6/+3
|
* require catch-up source to make progresstv2026-10-251-1/+89
|
* add chunked download and use it during rejointv2026-10-241-1/+1
|
* add swarm statstv2026-10-241-0/+1
|
* record RTT sampling instanttv2026-10-241-2/+3
|
* prefer closer sources to catch uptv2026-10-241-3/+42
|
* enrich keepalive contenttv2026-10-231-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