//! Control protocol implementation
// (c) 2025 Ross Younger

mod channel;
pub mod crypto;
mod endpoint;
mod ssh_process;

pub use channel::ControlChannel;
pub(crate) use channel::{ControlChannelServerInterface, stdio_channel};
pub use endpoint::create_endpoint;
pub(crate) use ssh_process::create;

#[cfg(test)]
pub(crate) use channel::{MockControlChannelServerInterface, ServerResult};
#[cfg(all(test, unix))]
pub(crate) use ssh_process::create_fake;
