2026-05-28 12:41:32 -06:00
|
|
|
mod endpoint;
|
|
|
|
|
mod error;
|
2026-05-28 18:17:01 -06:00
|
|
|
mod leaf;
|
2026-05-31 10:26:57 -06:00
|
|
|
mod leaf_meta;
|
2026-05-31 12:14:36 -06:00
|
|
|
mod leaf_template;
|
2026-05-28 12:41:32 -06:00
|
|
|
mod packet;
|
2026-05-31 10:26:57 -06:00
|
|
|
mod procedure;
|
2026-05-31 12:14:36 -06:00
|
|
|
mod runtime;
|
2026-05-31 10:26:57 -06:00
|
|
|
mod session;
|
2026-05-28 12:41:32 -06:00
|
|
|
|
2026-05-31 12:14:36 -06:00
|
|
|
pub use crate::unshell_leaf;
|
2026-05-28 14:46:47 -06:00
|
|
|
pub use endpoint::{Endpoint, HookID};
|
2026-05-28 12:41:32 -06:00
|
|
|
pub use error::*;
|
2026-05-31 10:26:57 -06:00
|
|
|
pub use leaf::Leaf;
|
|
|
|
|
pub use leaf_meta::LeafMeta;
|
2026-05-28 12:41:32 -06:00
|
|
|
pub use packet::Packet;
|
2026-05-31 10:26:57 -06:00
|
|
|
pub use procedure::*;
|
2026-05-31 12:14:36 -06:00
|
|
|
pub use runtime::*;
|
2026-05-31 10:26:57 -06:00
|
|
|
pub use session::*;
|
2026-05-31 12:14:36 -06:00
|
|
|
|
|
|
|
|
#[cfg(feature = "interface_ratatui")]
|
|
|
|
|
pub use ratatui;
|
2026-05-28 12:41:32 -06:00
|
|
|
|
|
|
|
|
// Various named types used for brevity
|
2026-06-01 13:08:26 -06:00
|
|
|
use alloc::{collections::vec_deque::VecDeque, vec::Vec};
|
2026-05-28 12:41:32 -06:00
|
|
|
|
|
|
|
|
type Path = Vec<u32>;
|
|
|
|
|
type EndpointName = u32;
|
2026-06-01 13:08:26 -06:00
|
|
|
type ConnectionSet = Vec<(EndpointName, bool)>;
|
|
|
|
|
type HookMap = Vec<(HookID, EndpointName)>;
|
2026-05-28 18:17:01 -06:00
|
|
|
pub type PacketQueue = VecDeque<Packet>;
|
2026-06-01 13:08:26 -06:00
|
|
|
type RouteMap = Vec<(EndpointName, PacketQueue)>;
|
2026-05-27 11:04:22 -06:00
|
|
|
|
|
|
|
|
#[cfg(test)]
|
2026-06-01 13:57:56 -06:00
|
|
|
mod tests;
|