#[macro_use]
mod enumdef;
mod name;
mod stream {
pub(super) mod r#enum;
pub(super) mod r#trait;
}
mod listener {
pub(super) mod r#enum;
pub(super) mod options;
pub(super) mod r#trait;
}
pub mod traits {
pub use super::{
listener::r#trait::{Listener, ListenerExt, ListenerNonblockingMode},
stream::r#trait::*,
};
#[cfg(feature = "tokio")]
#[cfg_attr(feature = "doc_cfg", doc(cfg(feature = "tokio")))]
pub mod tokio {
pub use super::super::tokio::{listener::r#trait::*, stream::r#trait::*};
}
}
pub use {
listener::{options::ListenerOptions, r#enum::*, r#trait::Incoming},
name::*,
stream::r#enum::*,
traits::ListenerNonblockingMode,
};
pub mod prelude {
pub use super::{
name::{NameType as _, ToFsName as _, ToNsName as _},
traits::{Listener as _, ListenerExt as _, Stream as _},
Listener as LocalSocketListener, Stream as LocalSocketStream,
};
}
#[cfg(feature = "tokio")]
#[cfg_attr(feature = "doc_cfg", doc(cfg(feature = "tokio")))]
pub mod tokio {
pub(super) mod listener {
pub(in super::super) mod r#enum;
pub(in super::super) mod r#trait;
}
pub(super) mod stream {
pub(in super::super) mod r#enum;
pub(in super::super) mod r#trait;
}
pub use {listener::r#enum::*, stream::r#enum::*};
pub mod prelude {
pub use super::{
super::{
name::{NameType as _, ToFsName as _, ToNsName as _},
traits::tokio::{Listener as _, Stream as _},
},
Listener as LocalSocketListener, Stream as LocalSocketStream,
};
}
}
mod concurrency_detector;
pub(crate) use concurrency_detector::*;