#[cfg(feature = "tokio")]
pub(crate) use tokio::net::{TcpListener, TcpStream};
#[cfg(all(feature = "smol", not(feature = "tokio")))]
pub(crate) use smol::net::{TcpListener, TcpStream};
#[cfg(feature = "tokio")]
pub(crate) fn listener_from_std(l: std::net::TcpListener) -> std::io::Result<TcpListener> {
TcpListener::from_std(l)
}
#[cfg(all(feature = "smol", not(feature = "tokio")))]
pub(crate) fn listener_from_std(l: std::net::TcpListener) -> std::io::Result<TcpListener> {
TcpListener::try_from(l)
}