Skip to main content

liminal_server/console/
mod.rs

1//! The console's live streams (SRV-011 R1 and R2).
2//!
3//! The server publishes them as the participant `liminal.<device>` on the
4//! ordinary transport:
5//! `console.topology` (one full topology record per change event; a reader's
6//! snapshot is the stream's latest record) and `console.tap.<target>` (one
7//! record per tap batch for the node or stream `<target>`).
8//!
9//! Nothing here reads a store row: the topology is built from the channel
10//! roster and the responder registry the server already holds, and the tap is
11//! fed at the publish return.
12
13pub mod counts;
14pub mod error;
15pub mod hub;
16pub mod model;
17pub mod publisher;
18
19pub mod readings;
20pub mod records;
21pub(crate) mod tap_placement;
22pub mod topology;
23pub mod wall;
24
25pub use counts::ConsoleCountsSnapshot;
26pub use error::ConsoleError;
27pub use hub::{
28    ConsoleHub, MAX_LIVE_TAPS, PumpReport, TAP_SUBJECT_PREFIX, TOPOLOGY_SUBJECT, tappable,
29};
30pub use model::{FlowRole, ThisDevice, TopologyChange, TopologyModel};
31pub use publisher::ServerPublisher;
32pub use readings::{
33    Origin, READINGS_SUBJECT, Reading, ReadingValue, ReadingsRecord, Source, TargetKind,
34};
35pub use records::StationActivity;
36pub use topology::{ChannelNode, TopologySnapshot, snapshot};
37
38#[cfg(test)]
39mod hub_tests;
40#[cfg(test)]
41mod model_tests;
42
43#[cfg(test)]
44mod readings_tests;
45#[cfg(test)]
46mod records_tests;
47#[cfg(test)]
48mod tests;
49
50#[cfg(test)]
51mod service_line_tests;
52#[cfg(test)]
53mod tap_placement_tests;