⎇ 72758e75ce515f355f27615671c95ecaf8c2a8bc
crates/core/brahman-handshake/src/lib.rs
History
Who touched what
raw
feat(brahman-handshake): multi-key identity — rotacion de session sin perder peer_id logico
1//! `brahman-handshake` — protocolo runtime Init↔módulo sobre Unix socket.
2//!
3//! Implementa la versión concreta de `shared_wit/protocol.wit` (handshake +
4//! lifecycle): un servidor que vive en el Init (o un Admin proxy) y clientes
5//! que son los módulos Brahman. Cada conexión arranca con un `Hello` que
6//! lleva una [`brahman_card::Card`]; el servidor valida la Card, deriva el
7//! [`TrustLevel`], emite un `HelloAck` con `session-id` ULID, y a partir de
8//! ahí acepta `Ping`/`Farewell`.
9//!
10//! Wire format: frames length-prefixed (4 bytes LE) con cuerpo
11//! [`postcard`]-codificado. Compacto, rápido y reversible.
12//!
13//! Esto NO es la implementación WIT/WASM (que generaría wit-bindgen). Es la
14//! implementación nativa Rust↔Rust que cubre el caso común antes de que los
15//! módulos WASM consuman el mismo contrato vía ABI generada.
16
17#![forbid(unsafe_code)]
18#![warn(rust_2018_idioms)]
19
20pub mod codec;
21pub mod identity;
22pub mod messages;
23pub mod server;
24pub mod client;
25pub mod network;
26pub mod peer_policy;
27pub mod signature;
28pub mod transport;
29
30pub use brahman_card::PROTOCOL_VERSION;
31
32/// Versión del crate de handshake (independiente de `PROTOCOL_VERSION`).
33pub const HANDSHAKE_VERSION: &str = env!("CARGO_PKG_VERSION");