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
//! The wake receiver (ADR-008 §3, §8): the `listen(channel)` return.
//!
//! Wakes are best-effort hints, not per-commit delivery promises —
//! possibly coalesced (SQLite) or per-notify (Postgres), possibly
//! repeated after reconnect, possibly absent entirely — recovery is
//! the consumer's re-read, never a guaranteed deliver. Consumers must
//! be idempotent on wake.
use Duration;
use crateResult;
use crateBoxedFuture;
use crateWake;
/// The wake receiver: the durable-subscription-free listen side of
/// the notify mechanism.
///
/// Close semantics (ADR-008 §3): `recv() -> None` means closed
/// (source death — SQLite's watcher death; terminal). The synthetic
/// reconnect-wake (the reserved channel) covers Postgres connection
/// gaps and arrives as a normal [`Wake`].