m4a_agent/engine/mod.rs
1//! The engine driver: runs the sans-I/O messenger core against a [`Backend`]. The shell used to
2//! own this; it now only adds what is its own (wake, local bus, sealed files on disk).
3
4pub mod driver;
5pub mod http;
6pub mod push;
7
8pub use driver::Driver;
9pub use http::{clip_public, HttpExec};
10pub use push::{PushLink, PushedRoomEvent};
11
12/// What [`crate::Backend::wait_for_news`] saw.
13#[derive(Debug, Clone, PartialEq, Eq)]
14pub enum News {
15 /// The server pushed room events for this session (metadata only; sync fetches the content).
16 Pushed(Vec<PushedRoomEvent>),
17 /// The wait ended without news (timeout, or the server has no push channel: poll with sync).
18 Idle,
19}