mod accept;
mod client;
mod server;
pub(crate) use accept::accept_loop;
pub(crate) use client::client_loop;
pub(crate) use server::server_loop;
pub(crate) fn is_aborted_error(err: Box<dyn std::error::Error>) -> bool {
match err.downcast_ref::<std::io::Error>() {
Some(e) => e.kind() == std::io::ErrorKind::ConnectionAborted,
None => false,
}
}