summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* decode sync messages lazilytv38 hours3-9/+40
| | | | | | | Sync messages are now being decoded only where they are applied: after membership has been checked, in the sync lane's blocking task. Debug now shows only the size instead of the whole message.
* keepalive sends head samples alongside digesttv38 hours4-47/+117
| | | | | | When there are more than 32 heads that can be send in a single keepalive message, the digest is accompanied by 32 heads, a different window each time, so after a few keepalives every head has been listed.
* add pull queuetv38 hours4-36/+86
|
* don't cast votes once there's a majoritytv38 hours2-4/+48
|
* poll mycelium inbox concurrentlytv38 hours1-55/+81
|
* POST timeout depends on content sizetv38 hours1-1/+24
| | | | | Replace the fixed timeout by a variable one depending on content size with the formula: 10 s + content-size / 1 MiB/s
* send sync messages off workertv38 hours1-1/+23
|
* read stamps sync and lock freetv38 hours8-24/+68
|
* add sync lanestv39 hours4-3/+75
|
* compute member pair scores cheaplytv39 hours1-22/+65
|
* include version in wire formattv39 hours2-11/+111
|
* show sender on mycelium transport parse errortv39 hours1-0/+9
|
* unreachability doesn't expiretv39 hours5-19/+70
|
* forget records only oncetv2 days2-9/+37
|
* fix race between alive check and forgettingtv2 days3-9/+31
|
* forgotten nodes cancel their own recordstv2 days2-15/+53
|
* add session IDstv2 days2-19/+87
| | | | | This prevents the regenerate flag from being lost across reset_sync during an in-flight send.
* number handshakestv2 days8-7/+96
| | | | This prevents late hellos from resetting the session.
* keep silent strangers for a daytv2 days2-3/+40
|
* send bounded peer liststv2 days7-7/+59
|
* wrap unix timestamps in newtypetv2 days17-123/+207
|
* allow humand-friendly durations in APItv2 days3-19/+40
|
* private mycelium needs both key and nametv2 days3-15/+19
|
* allow force only in args, not in filestv2 days1-1/+31
|
* add GET /stream endpointtv2 days2-2/+17
|
* remove /debug/blacklist endpinttv2 days2-30/+7
|
* remove /admin/compaction endpointtv2 days2-24/+3
|
* remove unit suffixes from fieldstv2 days4-34/+61
|
* allow humand-friendly durations and sizes in CLItv2 days9-67/+341
|
* unify API error responsestv2 days3-17/+62
|
* SyncSessions owns Automerge's sync statetv2 days5-85/+128
|
* cleanup mycelium daemontv2 days4-53/+21
|
* split mycelium daemon in its own moduletv2 days4-368/+376
|
* unify keepalivetv2 days1-15/+23
|
* split peer moduletv2 days9-915/+995
|
* unify peers snapshot logictv2 days6-52/+24
|
* unify lock logictv2 days25-134/+116
|
* move protocol paths to dedicated moduletv2 days11-62/+96
|
* replace shadow types by wire codectv2 days3-428/+433
|
* refresh peers after stalltv2 days3-1/+57
|
* split state moduletv2 days7-1297/+1362
|
* make test RNG configurable via envtv2 days1-3/+12
|
* add replay testtv2 days1-0/+65
|
* add heads summary testtv2 days1-0/+37
|
* add random swarms testtv2 days4-32/+149
|
* add soak testtv2 days2-0/+102
|
* add clock moduletv2 days18-75/+164
| | | | | The Clock module is the system clock that every unix timestamp new goes through. It comes with an offset that only tests can set.
* add stalled source testtv2 days2-3/+46
|
* avoid stalled sourcetv2 days3-2/+28
| | | | | | | | | | | | | 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_limittv2 days3-7/+16
|