1#![cfg_attr(docsrs_alt, feature(doc_cfg))]
2#![warn(missing_docs)]
3#![allow(clippy::useless_conversion, clippy::module_name_repetitions)]
4#![doc = document_features::document_features!()]
53#![cfg_attr(not(feature = "sd_listen"), deny(unsafe_code))]
57#![cfg_attr(
58 not(feature = "default"),
59 allow(unused_imports, irrefutable_let_patterns, unused_variables)
60)]
61
62mod connection;
63mod error;
64mod listener;
65mod listener_address;
66mod options;
67mod some_socket_addr;
68mod tcp_keepalive_params;
69mod unix_chmod;
70
71#[cfg(feature = "unix_path_tools")]
72#[doc(inline)]
73pub use unix_chmod::UnixChmodVariant;
74
75#[cfg(feature = "socket_options")]
76#[doc(inline)]
77pub use tcp_keepalive_params::TcpKeepaliveParams;
78
79#[doc(inline)]
80pub use options::{SystemOptions, UserOptions};
81
82#[doc(inline)]
83pub use listener_address::ListenerAddress;
84
85#[doc(inline)]
86pub use listener::Listener;
87
88#[allow(unused_imports)]
89pub(crate) use listener::is_connection_error;
90
91#[doc(inline)]
92pub use connection::Connection;
93
94#[doc(inline)]
95pub use some_socket_addr::{SomeSocketAddr, SomeSocketAddrClonable};
96
97#[cfg(feature = "clap")]
98#[cfg_attr(docsrs_alt, doc(cfg(feature = "clap")))]
99mod claptools;
100
101#[cfg(feature = "clap")]
102pub use claptools::{ListenerAddressLFlag, ListenerAddressPositional};
103
104#[cfg(feature = "hyper014")]
105#[cfg_attr(docsrs_alt, doc(cfg(feature = "hyper014")))]
106mod hyper014;
107
108#[cfg(feature = "axum07")]
110#[cfg_attr(docsrs_alt, doc(cfg(feature = "axum07")))]
111pub mod axum07;
112
113#[cfg(feature = "tonic010")]
114#[cfg_attr(docsrs_alt, doc(cfg(feature = "tonic010")))]
115mod tonic010;
116
117#[cfg(feature = "tonic011")]
118#[cfg_attr(docsrs_alt, doc(cfg(feature = "tonic011")))]
119mod tonic011;
120
121#[cfg(feature = "tonic012")]
122#[cfg_attr(docsrs_alt, doc(cfg(feature = "tonic012")))]
123mod tonic012;
124
125#[cfg(feature = "tokio-util")]
126#[cfg_attr(docsrs_alt, doc(cfg(feature = "tokio-util")))]
127mod tokioutil;
128
129#[doc(inline)]
130pub use error::{AcceptError, BindError};