Skip to main content

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(rust_2018_idioms)]
25#![allow(
26    dead_code,
27    clippy::new_without_default,
28    clippy::derivable_impls,
29    clippy::redundant_closure,
30    clippy::field_reassign_with_default
31)]
32#![doc(html_root_url = "https://docs.rs/aerosocket-server/")]
33
34// Public modules
35pub mod config;
36pub mod connection;
37pub mod error;
38pub mod handler;
39pub mod logging;
40pub mod manager;
41pub mod rate_limit;
42pub mod server;
43pub mod tcp_transport;
44pub mod tls_transport;
45
46// Prelude module with common imports
47pub mod prelude;
48
49// Re-export key types for convenience
50pub use config::{BackpressureConfig, CompressionConfig, ServerConfig, TlsConfig};
51pub use connection::{Connection, ConnectionHandle, ConnectionMetadata, ConnectionState};
52pub use error::{
53    ConfigError, ConnectionError, ContextError, ContextResult, ErrorContext, HandlerError,
54    HandshakeError, ManagerError, ProtocolError, ServerError, TransportError,
55};
56pub use handler::{BoxedHandler, DefaultHandler, EchoHandler, Handler};
57pub use manager::{CloseReason, ConnectionHealth, ConnectionManager, ManagerStats};
58pub use server::{Server, ServerBuilder};