summaryrefslogtreecommitdiffstats
path: root/src/state.rs
Commit message (Collapse)AuthorAgeFilesLines
* don't resend sync messages to up-to-date peersHEADmastertv5 hours1-0/+6
| | | | | | | | | | | When an sync messages arrives and automerge has nothing to say about it, then no reply is generated. With c9279e4 it was assumed that every sync message gets an answer, so missing replies caused unnecessary resends. Now a reply is only awaited if the peer's last reported heads differ from ours. If the peer's heads become equal through a third peer without replying, the waiting will also abort if a ping or pong showss the same heads digest on both sides.
* introduce pre-shared swarm keytv6 hours1-0/+9
|
* rename cluster to swarm everywhere!tv36 hours1-59/+47
|
* resend sync messages that haven't been repliedtv36 hours1-0/+67
|
* add heads to readstv46 hours1-5/+39
| | | | | | | | | | GET /store?heads=true and GET /store/{key}?heads=true add the header x-continuum-heads (sorted, comma-separated hex). The heads come from the same moment as the read. - It's opt-in because reading the heads takes the write lock. Reads without the flag don't change. - Stale reads during a rejoin never carry heads.
* rename compaction to remaketv47 hours1-6/+6
|
* reorganize all the modulestv47 hours1-4/+4
|
* serve stale reads during rejointv3 days1-0/+69
|
* take_keepalive_due: consider added_attv3 days1-0/+1
| | | | This prevents an immediate ping during handshake.
* replace snapshots by quarantine & replaytv3 days1-11/+31
|
* fix catch-up / compaction in generaltv3 days1-1/+19
|
* fix catch-uptv3 days1-4/+24
|
* add epoch catch-up / snapshotstv3 days1-2/+28
|
* add epoch switchtv3 days1-1/+67
|
* add compaction coordinatortv3 days1-0/+74
|
* cargo fmttv3 days1-1/+3
|
* add epochstv3 days1-7/+23
|
* initial committv3 days1-0/+483