aboutsummaryrefslogtreecommitdiffstats
path: root/src/state
Commit message (Collapse)AuthorAgeFilesLines
* no heal while both move ontv4 days1-3/+49
| | | | | | | The heal clock now also restarts when our heads and the peer's have both changed since the last STATUS that showed them differing. While writes go on, two neighbours's heads differ because of changes still on their way, and that alone no longer leads to a heal.
* overdue sync asked after from thentv4 days1-45/+88
|
* unanswered sync asked aftertv4 days1-6/+28
| | | | | An overdue sync answer is now followed by a PING too, and the peer stays reached once it answers the PING.
* unanswered members not reachedtv5 days2-3/+88
|
* announce what trees misstv5 days1-0/+3
|
* replace eager links by treestv5 days1-10/+0
|
* add writer treestv5 days2-3/+8
|
* measure 2-hop neighbourhoodtv5 days2-0/+7
|
* introduce eager linkstv5 days1-0/+10
|
* skip neighbours with our headstv5 days1-0/+5
|
* retry new peers before probingtv5 days1-5/+37
|
* probe list memberstv5 days1-3/+8
|
* add stream heartbeattv5 days1-0/+3
|
* dashboard: double-click opens peer dashboardtv5 days1-0/+3
|
* api: add x-continuum-heads to writestv6 days1-6/+10
|
* record node ID and API user for every writetv6 days1-1/+24
|
* large messages over slow links are deltastv6 days1-0/+29
|
* introduce per-transport sync reply timeouttv6 days2-11/+14
|
* peer worker forget records on changetv6 days1-0/+3
|
* peer worker sleeps until deadline, not fixed timetv6 days2-18/+60
|
* bootstrap: replace pull by progress notifytv6 days2-0/+6
|
* document: allow writes during rejointv6 days3-110/+207
|
* LWW everywhere, mostlytv6 days2-0/+31
|
* remake: copy stale view when writes stoptv6 days1-0/+13
| | | | This ensures that stale reads show every write that was answered.
* state: drop epoch_txtv6 days2-8/+7
| | | | The stamp is the only lock-free epoch label.
* document: reject writes during rejointv6 days2-5/+23
|
* use Automerge as Document instead of AutoCommittv7 days2-14/+36
| | | | This allows a lot of operations to drop mut.
* move SyncSession to documenttv7 days3-560/+2
|
* move all automerge references to documenttv7 days2-20/+1
|
* sync messages are bytes outside the sessiontv7 days2-13/+25
| | | | | | | | SyncPayload is now an opaque byte container in transport. SyncSession::generate returns the encoded payload, state::decode_sync(&payload) decodes it off the document lock (as before), and receive takes the decoded message, which is a type only the session can open. transport/mod.rs no longer imports Automerge.
* commits go through the replicatv7 days1-13/+4
|
* rename AutoMerge to Documenttv7 days4-36/+36
|
* detect local clock jumpstv8 days1-2/+2
|
* remake needs sane clocktv8 days1-0/+4
|
* propagate clock figurestv8 days1-0/+3
|
* add peer clock skew warningtv8 days1-0/+5
|
* dashboard: try to get links dormant immediatelytv8 days1-1/+38
|
* centralize call to topology_changetv8 days2-1/+14
|
* unify request_sync logictv8 days2-2/+19
|
* move ChangeSet from swarm to documenttv8 days2-2/+4
|
* unify closing logictv8 days1-2/+9
|
* unify sync_on predicatetv8 days2-4/+10
|
* unify source resettv8 days1-3/+2
|
* farewell means dormanttv8 days1-2/+15
|
* add links messagestv8 days1-0/+2
| | | | | | | | | Introduce two new wire messages, LINKS and LINKS_REPLY (swarm::links). A member answers with its links: for each peer, the transport, whether it’s relayed, the RTT, and whether it’s dormant. It answers members only, at most every 5 s. This bumps wire::VERSION to 7. Every build answers, with or without the feature, so every node needs this patch before the map shows anything beyond its own node.
* add dormant-probe-max optiontv8 days1-4/+17
|
* batch-send missing changes during synctv10 days1-0/+84
|
* add support for renaming IDs in the loggertv10 days1-1/+4
|
* peers from member list start as unknowntv11 days2-9/+36
|
* add document lock statstv11 days1-2/+3
|