pub struct Split {
pub stdout: Receiver<Result<Vec<u8>, Error>>,
pub stderr: Receiver<Result<Vec<u8>, Error>>,
pub gaps: GapLog,
pub drive: Pin<Box<dyn Future<Output = ()> + Send>>,
}Expand description
One exec’s output as two channels, and the drive that fills them.
Built by ExecHandle::split. Nothing moves until Split::drive runs: the caller
spawns it on its own runtime (each binding has one, and this crate chooses none). A
channel closes, with no error, after the terminal exit event, and the drive ends then too.
Fields§
§stdout: Receiver<Result<Vec<u8>, Error>>The child’s standard output.
stderr: Receiver<Result<Vec<u8>, Error>>The child’s standard error.
gaps: GapLogThe gaps recorded under GapPolicy::Event.
drive: Pin<Box<dyn Future<Output = ()> + Send>>The one stream drive both channels share. Spawn it.
Auto Trait Implementations§
impl !RefUnwindSafe for Split
impl !Sync for Split
impl !UnwindSafe for Split
impl Freeze for Split
impl Send for Split
impl Unpin for Split
impl UnsafeUnpin for Split
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.