aboutsummaryrefslogtreecommitdiffstats
path: root/src/state
Commit message (Collapse)AuthorAgeFilesLines
* access: first users at genesistv4 days1-0/+2
| | | | | | | | --bootstrap-users gives a new swarm a registry from its first change, each first user with everything; other users may do nothing until added. Without it the swarm has no registry and works as before. Auth plan M1.
* refuse misplaced authorstv5 days1-0/+5
|
* HyParView (slim)tv5 days1-4/+21
|
* dissemination traittv5 days1-0/+2
|
* topology traittv5 days1-0/+2
|
* handshakes countedtv5 days1-0/+56
|
* working links recordedtv5 days1-0/+2
|
* worker sends off the passtv5 days1-1/+6
|
* suspend detectedtv5 days1-0/+12
|
* one grace wait per peertv5 days1-0/+4
|
* asks by askertv6 days1-0/+5
|
* round trips in treestv6 days1-0/+5
|
* push by defaulttv6 days1-4/+0
|
* push changes experimenttv6 days1-0/+4
|
* announce only to those behindtv7 days1-2/+2
|
* asked again countertv7 days1-0/+5
|
* hop delaystv7 days1-0/+3
|
* slow round back offtv7 days2-0/+5
|
* hello again when heard fromtv7 days1-0/+52
| | | | | | While we wait for a peer's HELLO_REPLY, anything else that comes from it makes our HELLO go again at once, at most once a second, instead of when the backoff says.
* no heal while both move ontv7 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 thentv7 days1-45/+88
|
* unanswered sync asked aftertv7 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 reachedtv8 days2-3/+88
|
* announce what trees misstv8 days1-0/+3
|
* replace eager links by treestv8 days1-10/+0
|
* add writer treestv8 days2-3/+8
|
* measure 2-hop neighbourhoodtv8 days2-0/+7
|
* introduce eager linkstv9 days1-0/+10
|
* skip neighbours with our headstv9 days1-0/+5
|
* retry new peers before probingtv9 days1-5/+37
|
* probe list memberstv9 days1-3/+8
|
* add stream heartbeattv9 days1-0/+3
|
* dashboard: double-click opens peer dashboardtv9 days1-0/+3
|
* api: add x-continuum-heads to writestv10 days1-6/+10
|
* record node ID and API user for every writetv10 days1-1/+24
|
* large messages over slow links are deltastv10 days1-0/+29
|
* introduce per-transport sync reply timeouttv10 days2-11/+14
|
* peer worker forget records on changetv10 days1-0/+3
|
* peer worker sleeps until deadline, not fixed timetv10 days2-18/+60
|
* bootstrap: replace pull by progress notifytv10 days2-0/+6
|
* document: allow writes during rejointv10 days3-110/+207
|
* LWW everywhere, mostlytv10 days2-0/+31
|
* remake: copy stale view when writes stoptv10 days1-0/+13
| | | | This ensures that stale reads show every write that was answered.
* state: drop epoch_txtv10 days2-8/+7
| | | | The stamp is the only lock-free epoch label.
* document: reject writes during rejointv10 days2-5/+23
|
* use Automerge as Document instead of AutoCommittv11 days2-14/+36
| | | | This allows a lot of operations to drop mut.
* move SyncSession to documenttv11 days3-560/+2
|
* move all automerge references to documenttv11 days2-20/+1
|
* sync messages are bytes outside the sessiontv11 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 replicatv11 days1-13/+4
|