mod duplex;
mod mpsc;
#[cfg(feature = "signal")]
mod signal;
mod sink;
pub use duplex::DuplexStream;
#[cfg(all(feature = "tokio", feature = "tokio-stream", feature = "tokio-util"))]
pub use mpsc::{tokio_mpsc_stream, MpscStream, UnboundedSink};
#[cfg(feature = "signal")]
pub use signal::*;
pub use sink::SinkXlf;
#[macro_export]
macro_rules! future_delegate_access_inner {
($field:ident, $inner:ty, ($($ind:tt)*)) => {
#[inline]
pub fn get_ref(&self) -> &$inner {
(&self.$field) $($ind get_ref())*
}
#[inline]
pub fn get_mut(&mut self) -> &mut $inner {
(&mut self.$field) $($ind get_mut())*
}
#[inline]
pub fn get_pin_mut(self: core::pin::Pin<&mut Self>) -> core::pin::Pin<&mut $inner> {
self.project().$field $($ind get_pin_mut())*
}
#[inline]
pub fn into_inner(self) -> $inner {
self.$field $($ind into_inner())*
}
}
}