lockless-split 0.0.1

A generic trait and helper for lockless io split
Documentation
pub trait LocklessSplit {
    /// Owned Read Split
    type OwnedRead;
    /// Owned Write Split
    type OwnedWrite;

    /// Borrowed Read Split
    type Read<'cx>
    where
        Self: 'cx;
    /// Borrowed Write Split
    type Write<'cx>
    where
        Self: 'cx;

    /// Split into owned parts
    fn into_split(self) -> (Self::OwnedRead, Self::OwnedWrite);
}

pub trait LocklessSplitRef {
    /// Borrowed Read Split
    type Read<'cx>
    where
        Self: 'cx;
    /// Borrowed Write Split
    type Write<'cx>
    where
        Self: 'cx;

    /// Split into borrowed parts
    fn split(&mut self) -> (Self::Read<'_>, Self::Write<'_>);
}