1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! The Causal+ (session) tier — read-your-writes and monotonic reads, no consensus.
//!
//! A [`CausalSession`] carries a **causal token**: the state-vector frontier it has
//! observed. A causal read of a local replica is served only if the replica has
//! caught up to that frontier; otherwise it reports [`Outcome::Stale`] rather than
//! silently serving older data. This gives the two session guarantees people
//! actually want — *I see my own writes*, and *my reads never go backwards* —
//! cheaply and partition-tolerantly, built directly on the convergent substrate's
//! state vectors. No cross-node coordination is involved.
use CrdtDoc;
use crateOutcome;
use crateTier;
/// A causal-consistency session over one or more replicas of a document.