1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! Basic Implementation of MQTT Server
//!
//! The basic implementation of MQTT proxy, supporting v3.1.1 and v5.0 protocols, with TLS and
//! WebSocket functionality.
//!
//! ## Basic Usage
//!
//! ```rust,no_run
//! use rmqtt_net::{Builder, ListenerType};
//! use std::net::SocketAddr;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! let builder = Builder::new()
//! .name("MyBroker")
//! .laddr("127.0.0.1:1883".parse()?);
//!
//! let listener = builder.bind()?;
//! loop {
//! let acceptor = listener.accept().await?;
//! let dispatcher = acceptor.tcp()?;
//! // Handle connection...
//! }
//! Ok(())
//! }
//! ```
pub use QuinnBiStream;
/// Server configuration and listener management
pub use ;
pub use TlsCertExtractor;
/// Error types for MQTT operations
pub use MqttError;
/// TLS implementation providers
pub use rustls;
/// AWS-LC based TLS provider (non-Windows platforms)
pub use aws_lc_rs as tls_provider;
/// Ring-based TLS provider (Windows platforms)
pub use ring as tls_provider;
/// MQTT protocol implementations and stream handling
pub use ;
/// Convenience type alias for generic errors
pub type Error = Error;
/// Result type alias using crate's Error type
pub type Result<T> = Result;