///|
pub fn sample_linear_events() -> Array[CausalEvent] {
let a1 = VectorClock::new().tick("a")
let b1 = a1.merge(VectorClock::new().tick("b"))
[
CausalEvent::new("a1", "a", a1, "create"),
CausalEvent::new("b1", "b", b1, "reply"),
]
}
///|
pub fn sample_concurrent_events() -> Array[CausalEvent] {
[
CausalEvent::new("a1", "a", VectorClock::new().tick("a"), "edit-a"),
CausalEvent::new("b1", "b", VectorClock::new().tick("b"), "edit-b"),
]
}
///|
pub fn sample_out_of_order_events() -> Array[CausalEvent] {
let a1 = VectorClock::new().tick("a")
let b1 = a1.merge(VectorClock::new().tick("b"))
[
CausalEvent::new("b1", "b", b1, "reply before create arrives"),
CausalEvent::new("a1", "a", a1, "create arrives later"),
]
}