| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | announce only to those behind | tv | 3 days | 1 | -12/+28 |
| | | |||||
| * | covered neighbours have it | tv | 3 days | 1 | -4/+10 |
| | | |||||
| * | slow round back off | tv | 3 days | 1 | -5/+81 |
| | | |||||
| * | tree messages need no answer | tv | 3 days | 1 | -1/+8 |
| | | |||||
| * | unanswered pull frees the slot | tv | 3 days | 1 | -1/+22 |
| | | | | | | | When the answer to a pull is overdue (the sync reply timeout: 1 s in the simtests, 10 s in production), the pull gives up the slot, and the next waiting neighbour is pulled at once. | ||||
| * | pull after grace | tv | 4 days | 1 | -3/+32 |
| | | | | | | | | | Before pulling, a node waits one measured round trip to the announcer (1 s at most) and pulls only what is still missing. If the round trip isn't known yet, it pulls at once, as now. On the clean benchmark links the round trip is a few milliseconds, so those scenarios shouldn't change. | ||||
| * | announcements answered when lacking | tv | 4 days | 1 | -1/+7 |
| | | | | | | | | A neighbour now answers an announcement only if it lacks some of the announced heads. Heads that merely differ are no longer enough, since they do while writes go on. The check reads the document, so it runs off the message consumer, as the pull check already does. | ||||
| * | writers from authors | tv | 4 days | 1 | -16/+19 |
| | | |||||
| * | announcement round counters | tv | 5 days | 1 | -6/+8 |
| | | |||||
| * | docs after trees | tv | 5 days | 1 | -5/+6 |
| | | |||||
| * | announce what trees miss | tv | 5 days | 1 | -15/+62 |
| | | |||||
| * | replace eager links by trees | tv | 5 days | 1 | -81/+16 |
| | | |||||
| * | add writer trees | tv | 5 days | 1 | -20/+36 |
| | | |||||
| * | measure 2-hop neighbourhood | tv | 5 days | 1 | -3/+3 |
| | | |||||
| * | add eager link counters | tv | 5 days | 1 | -0/+3 |
| | | |||||
| * | introduce eager links | tv | 5 days | 1 | -13/+79 |
| | | |||||
| * | skip neighbours with our heads | tv | 5 days | 1 | -15/+36 |
| | | |||||
| * | announcements answered only if heads differ | tv | 5 days | 1 | -5/+6 |
| | | |||||
| * | always announce new heads | tv | 5 days | 1 | -34/+8 |
| | | |||||
| * | swarm: announce to whom writers can't reach | tv | 5 days | 1 | -10/+46 |
| | | |||||
| * | use Automerge as Document instead of AutoCommit | tv | 7 days | 1 | -2/+2 |
| | | | | | This allows a lot of operations to drop mut. | ||||
| * | move all automerge references to document | tv | 7 days | 1 | -9/+2 |
| | | |||||
| * | rename AutoMerge to Document | tv | 7 days | 1 | -1/+1 |
| | | |||||
| * | unify request_sync logic | tv | 8 days | 1 | -4/+1 |
| | | |||||
| * | rename PING/PONG to STATUS/STATUS_REPLY | tv | 11 days | 1 | -6/+6 |
| | | |||||
| * | talk about "transport" unless mycelium is meant | tv | 12 days | 1 | -1/+1 |
| | | |||||
| * | make clippy happy again | tv | 12 days | 1 | -1/+1 |
| | | |||||
| * | add sync and relay stats | tv | 12 days | 1 | -1/+9 |
| | | |||||
| * | keepalive sends head samples alongside digest | tv | 12 days | 1 | -21/+22 |
| | | | | | | | 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 queue | tv | 12 days | 1 | -31/+79 |
| | | |||||
| * | read stamps sync and lock free | tv | 12 days | 1 | -2/+3 |
| | | |||||
| * | SyncSessions owns Automerge's sync state | tv | 13 days | 1 | -2/+1 |
| | | |||||
| * | unify lock logic | tv | 13 days | 1 | -14/+5 |
| | | |||||
| * | coalesce announcements | tv | 14 days | 1 | -2/+56 |
| | | |||||
| * | cache heads | tv | 14 days | 1 | -0/+4 |
| | | | | | To reduce the number of write locks, heads are now cached. | ||||
| * | record RTT from keepalive messages | tv | 2026-10-24 | 1 | -8/+3 |
| | | |||||
| * | pull missing changes | tv | 2026-10-24 | 1 | -0/+126 |
| Nodes push changes to their neighbours but don't relay them directly. In a partial mesh, nodes can learn about missing changes via keepalive messages and can pull them from their neighbours. | |||||
