1 2 3 4 5 6 7 8 9 10
use crate::{ReadLayered, WriteLayered};
use duplex::{Duplex, HalfDuplex};
/// A trait which simply combines [`ReadLayered`], [`WriteLayered`], and
/// [`HalfDuplex`].
pub trait HalfDuplexLayered: HalfDuplex + ReadLayered + WriteLayered {}
impl<T: Duplex + ReadLayered + WriteLayered> HalfDuplexLayered for T {}
// TODO: `AsyncReadLayered` and `AsyncWriteLayered`?