Skip to main content

lspkit_sidecar/
lib.rs

1//! `lspkit-sidecar` — framed-IPC primitives and lifecycle management for
2//! out-of-process backends.
3//!
4//! **Pure transport.** This crate has no opinion on the wire format
5//! (`MessagePack`, JSON, CBOR — caller's choice), no knowledge of any specific
6//! backend technology, and no protocol payload types. Three layers:
7//!
8//! - [`transport`] — 4-byte little-endian length-prefixed frames.
9//! - [`correlator`] — request-ID → response-future routing.
10//! - [`lifecycle`] — spawn / health-ping / exponential-backoff restart.
11
12pub mod correlator;
13pub mod lifecycle;
14pub mod transport;
15
16pub use crate::correlator::{CorrelationError, Correlator, RequestId};
17pub use crate::lifecycle::{LifecycleConfig, LifecycleError, Sidecar};
18pub use crate::transport::{read_frame, write_frame, TransportError, DEFAULT_MAX_FRAME};