Skip to main content

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}