pub mod core;
pub use core::error::{InfrarustError, Result as InfrarustResult, RsaError};
pub use infrarust_config::InfrarustConfig;
pub mod telemetry;
pub mod network;
pub mod security;
pub use network::proxy_protocol::reader::ProxyProtocolReader;
pub use network::{
connection::{Connection, ServerConnection},
proxy_protocol::write_proxy_protocol_header,
};
pub mod proxy_modes;
pub use security::{
encryption::EncryptionState,
filter::{Filter, FilterConfig, FilterError, FilterRegistry, FilterType},
rate_limiter::RateLimiter,
};
pub mod cli;
pub mod server;
mod infrarust;
use std::sync::Arc;
use crate::core::shared_component::SharedComponent;
use crate::server::gateway::Gateway;
#[derive(Debug)]
pub struct Infrarust {
shared: Arc<SharedComponent>,
gateway: Arc<Gateway>,
}
#[cfg(test)]
mod tests {
#[tokio::test]
#[ignore = "TODO"]
async fn test_infrared_basic() {
}
}