//! `jkipsec` - userspace IKEv2 / IPsec implementation that hands raw IP frames
//! to `jktcp` for TCP processing.
//!
//! The high-level entry point is [`api::JkispecServer`]. Lower-level IKE
//! parser and crypto primitives are exposed in [`ike`] and [`crypto`] for
//! advanced use, but most users won't need them.
//!
//! Layering:
//!
//! ```text
//! UDP socket -> ike::Message (parse) -> session state machine
//! │
//! ▼
//! esp::Sa (decrypt)
//! │
//! ▼
//! AsyncRead/Write IP frames
//! │
//! ▼
//! jktcp::Adapter
//! ```
//!
//! The crate is split so each layer can be tested in isolation.