aerosocket_server/
lib.rs

1//! AeroSocket Server
2//!
3//! High-performance WebSocket server implementation with enterprise features.
4//!
5//! ## Quick Start
6//!
7//! ```rust,no_run
8//! use aerosocket_server::prelude::*;
9//!
10//! #[tokio::main]
11//! async fn main() -> aerosocket_core::Result<()> {
12//!     let server = Server::builder()
13//!         .bind("0.0.0.0:8080")?
14//!         .max_connections(10_000)
15//!         .build()?;
16//!
17//!     server.serve().await?;
18//!
19//!     Ok(())
20//! }
21//! ```
22
23#![cfg_attr(docsrs, feature(doc_cfg))]
24#![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)]
25#![doc(html_root_url = "https://docs.rs/aerosocket-server/")]
26
27// Public modules
28pub mod config;
29pub mod connection;
30pub mod error;
31pub mod handler;
32pub mod logging;
33pub mod manager;
34pub mod rate_limit;
35pub mod server;
36pub mod tcp_transport;
37pub mod tls_transport;
38
39// Prelude module with common imports
40pub mod prelude;
41
42// Re-export key types for convenience
43pub use config::{ServerConfig, TlsConfig, CompressionConfig, BackpressureConfig};
44pub use connection::{Connection, ConnectionHandle, ConnectionState, ConnectionMetadata};
45pub use error::{
46    ServerError, ConfigError, ConnectionError, HandshakeError, 
47    ProtocolError, TransportError, HandlerError, ManagerError,
48    ErrorContext, ContextError, ContextResult
49};
50pub use handler::{Handler, BoxedHandler, DefaultHandler, EchoHandler};
51pub use manager::{ConnectionManager, ManagerStats, ConnectionHealth, CloseReason};
52pub use server::{Server, ServerBuilder};