pub use agnostic::tokio::TokioRuntime;
#[cfg(feature = "net")]
#[cfg_attr(docsrs, doc(cfg(feature = "net")))]
pub use memberlist_net::TokioNetTransport;
#[cfg(feature = "quic")]
#[cfg_attr(docsrs, doc(cfg(feature = "quic")))]
pub use memberlist_quic::TokioQuicTransport;
pub type TokioSocketAddrResolver =
memberlist_core::transport::resolver::socket_addr::SocketAddrResolver<TokioRuntime>;
pub type TokioHostAddrResolver =
memberlist_core::transport::resolver::address::HostAddrResolver<TokioRuntime>;
#[cfg(feature = "dns")]
#[cfg_attr(docsrs, doc(cfg(feature = "dns")))]
pub type TokioDnsResolver = memberlist_core::transport::resolver::dns::DnsResolver<TokioRuntime>;
#[cfg(all(any(feature = "tcp", feature = "tls"), not(target_family = "wasm")))]
#[cfg_attr(
docsrs,
doc(cfg(all(any(feature = "tcp", feature = "tls"), not(target_family = "wasm"))))
)]
pub type TokioTcp = memberlist_net::stream_layer::tcp::Tcp<TokioRuntime>;
#[cfg(all(feature = "tls", not(target_family = "wasm")))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "tls", not(target_family = "wasm")))))]
pub type TokioTls = memberlist_net::stream_layer::tls::Tls<TokioRuntime>;
#[cfg(all(feature = "quinn", not(target_family = "wasm")))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "quinn", not(target_family = "wasm")))))]
pub type TokioQuinn = memberlist_quic::stream_layer::quinn::Quinn<TokioRuntime>;
#[cfg(all(any(feature = "tcp", feature = "tls"), not(target_family = "wasm")))]
#[cfg_attr(
docsrs,
doc(cfg(all(any(feature = "tcp", feature = "tls"), not(target_family = "wasm"))))
)]
pub type TokioTcpMemberlist<I, A, D = memberlist_core::delegate::CompositeDelegate<I, A>> =
memberlist_core::Memberlist<TokioNetTransport<I, A, TokioTcp>, D>;
#[cfg(all(feature = "tls", not(target_family = "wasm")))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "tls", not(target_family = "wasm")))))]
pub type TokioTlsMemberlist<I, A, D = memberlist_core::delegate::CompositeDelegate<I, A>> =
memberlist_core::Memberlist<TokioNetTransport<I, A, TokioTls>, D>;
#[cfg(all(feature = "quinn", not(target_family = "wasm")))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "quinn", not(target_family = "wasm")))))]
pub type TokioQuicMemberlist<I, A, D = memberlist_core::delegate::CompositeDelegate<I, A>> =
memberlist_core::Memberlist<TokioQuicTransport<I, A, TokioQuinn>, D>;