aimdb_core/session/aimx/mod.rs
1//! AimX codec + dispatch — the concrete protocol substrate the session engines
2//! ride for AimX remote access.
3//!
4//! - [`AimxCodec`] — the symmetric NDJSON [`EnvelopeCodec`](crate::session::EnvelopeCodec),
5//! `no_std + alloc` (features `connector-session` + `remote`); used by
6//! both the `run_client` and `serve` engines.
7//! - [`AimxDispatch`] — the server method semantics, `no_std + alloc` (features
8//! `connector-session` + `remote`); it reaches into core's
9//! `record.list` / JSON API, which are gated on `remote` too.
10//!
11//! The transport (UDS) lives in a separate connector crate
12//! (`aimdb-uds-connector`); core keeps only the protocol plus the generic
13//! [`SessionClientConnector`](crate::session::SessionClientConnector) /
14//! [`SessionServerConnector`](crate::session::SessionServerConnector) spine.
15
16mod codec;
17pub use codec::AimxCodec;
18
19#[cfg(feature = "remote")]
20mod dispatch;
21#[cfg(feature = "remote")]
22pub use dispatch::AimxDispatch;