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
//! The delivery cursor and its event envelope (SPEC §4).
//!
//! Every delivered event is stamped with a monotonic, per-instance [`Cursor`]. A subscriber
//! remembers the last cursor it saw; on a gap (reconnect or lag) it calls `catch_up(since)` ONCE to
//! backfill the missed range, then resumes the live stream. [`EmittedEvent`] is the envelope that
//! flows over the live stream AND is returned by catch-up backfill.
use ;
use crateWalletEvent;
/// A monotonic, per-instance sequence number stamped on delivered events.
///
/// A subscriber remembers the last cursor it saw; on a gap (reconnect or lag) it calls
/// `catch_up(since)` ONCE to backfill the missed range, then resumes the live stream.
/// Serializes as a bare `u64` on the wire.
;
/// A delivered event paired with its monotonic [`Cursor`].
///
/// The engine stamps a per-instance cursor on every event as it is emitted; subscribers remember
/// the last cursor and pass it to `catch_up` after a gap. This envelope is what flows over the
/// subscription stream (live) and what catch-up returns (backfill).