pub struct SingleSubscriberOutputStream { /* private fields */ }Expand description
The output stream from a process. Either representing stdout or stderr.
This is the single-subscriber variant, allowing for just one consumer.
This has the upside of requiring as few memory allocations as possible.
If multiple concurrent inspections are required, prefer using the
output_stream::broadcast::BroadcastOutputSteam.
Implementations§
Source§impl SingleSubscriberOutputStream
impl SingleSubscriberOutputStream
pub fn from_stream<S: AsyncRead + Unpin + Send + 'static>( stream: S, backpressure_control: BackpressureControl, options: FromStreamOptions, ) -> SingleSubscriberOutputStream
Source§impl SingleSubscriberOutputStream
impl SingleSubscriberOutputStream
pub fn inspect_chunks( &mut self, f: impl Fn(Chunk) -> Next + Send + 'static, ) -> Inspector
pub fn inspect_lines( &mut self, f: impl FnMut(String) -> Next + Send + 'static, options: LineParsingOptions, ) -> Inspector
pub fn inspect_lines_async<Fut>( &mut self, f: impl FnMut(String) -> Fut + Send + 'static, options: LineParsingOptions, ) -> Inspector
Source§impl SingleSubscriberOutputStream
impl SingleSubscriberOutputStream
pub fn collect_chunks<S: Sink>( &mut self, into: S, collect: impl Fn(Chunk, &mut S) + Send + 'static, ) -> Collector<S>
pub fn collect_chunks_async<S, F>( &mut self, into: S, collect: F, ) -> Collector<S>
pub fn collect_lines<S: Sink>( &mut self, into: S, collect: impl Fn(String, &mut S) -> Next + Send + 'static, options: LineParsingOptions, ) -> Collector<S>
pub fn collect_lines_async<S, F>( &mut self, into: S, collect: F, options: LineParsingOptions, ) -> Collector<S>
pub fn collect_chunks_into_vec(&mut self) -> Collector<Vec<u8>>
pub fn collect_lines_into_vec( &mut self, options: LineParsingOptions, ) -> Collector<Vec<String>>
pub fn collect_chunks_into_write<W: Sink + AsyncWriteExt + Unpin>( &mut self, write: W, ) -> Collector<W>
pub fn collect_lines_into_write<W: Sink + AsyncWriteExt + Unpin>( &mut self, write: W, options: LineParsingOptions, ) -> Collector<W>
pub fn collect_chunks_into_write_mapped<W: Sink + AsyncWriteExt + Unpin, B: AsRef<[u8]> + Send>( &mut self, write: W, mapper: impl Fn(Chunk) -> B + Send + Sync + Copy + 'static, ) -> Collector<W>
pub fn collect_lines_into_write_mapped<W: Sink + AsyncWriteExt + Unpin, B: AsRef<[u8]> + Send>( &mut self, write: W, mapper: impl Fn(String) -> B + Send + Sync + Copy + 'static, options: LineParsingOptions, ) -> Collector<W>
Source§impl SingleSubscriberOutputStream
impl SingleSubscriberOutputStream
pub async fn wait_for_line( &mut self, predicate: impl Fn(String) -> bool + Send + Sync + 'static, options: LineParsingOptions, )
pub async fn wait_for_line_with_timeout( &mut self, predicate: impl Fn(String) -> bool + Send + Sync + 'static, options: LineParsingOptions, timeout: Duration, ) -> Result<(), Elapsed>
Trait Implementations§
Source§impl Debug for SingleSubscriberOutputStream
impl Debug for SingleSubscriberOutputStream
Source§impl Drop for SingleSubscriberOutputStream
impl Drop for SingleSubscriberOutputStream
impl OutputStream for SingleSubscriberOutputStream
Auto Trait Implementations§
impl Freeze for SingleSubscriberOutputStream
impl RefUnwindSafe for SingleSubscriberOutputStream
impl Send for SingleSubscriberOutputStream
impl Sync for SingleSubscriberOutputStream
impl Unpin for SingleSubscriberOutputStream
impl UnwindSafe for SingleSubscriberOutputStream
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