pub struct ParseLines<S> { /* private fields */ }Expand description
Adapter that drives a LineParser over chunk events and dispatches every emitted line to
the inner LineVisitor (sync) or AsyncLineVisitor (async).
Implements StreamVisitor when S: LineVisitor and AsyncStreamVisitor when
S: AsyncLineVisitor.
Implementations§
Source§impl<S> ParseLines<S>
impl<S> ParseLines<S>
Sourcepub fn new(options: LineParsingOptions, inner: S) -> Self
pub fn new(options: LineParsingOptions, inner: S) -> Self
Creates a new line adapter.
§Panics
Panics if options.max_line_length is zero. See
LineParsingOptions::max_line_length for the rationale; pass
crate::NumBytes::MAX for effectively-unbounded line parsing.
Source§impl<F> ParseLines<InspectLines<F>>
impl<F> ParseLines<InspectLines<F>>
Sourcepub fn inspect(options: LineParsingOptions, f: F) -> Self
pub fn inspect(options: LineParsingOptions, f: F) -> Self
Convenience constructor: wraps f in an InspectLines and composes it with this
adapter. Equivalent to ParseLines::new(options, InspectLines::new(f)).
§Panics
Panics if options.max_line_length is zero.
Source§impl<F, Fut> ParseLines<InspectLinesAsync<F, Fut>>
impl<F, Fut> ParseLines<InspectLinesAsync<F, Fut>>
Sourcepub fn inspect_async(options: LineParsingOptions, f: F) -> Self
pub fn inspect_async(options: LineParsingOptions, f: F) -> Self
Convenience constructor: wraps f in an InspectLinesAsync and composes it with this
adapter. Equivalent to ParseLines::new(options, InspectLinesAsync::new(f)).
§Panics
Panics if options.max_line_length is zero.
Source§impl<T, F> ParseLines<CollectLines<T, F>>
impl<T, F> ParseLines<CollectLines<T, F>>
Sourcepub fn collect(options: LineParsingOptions, sink: T, f: F) -> Self
pub fn collect(options: LineParsingOptions, sink: T, f: F) -> Self
Convenience constructor: wraps sink and f in a CollectLines and composes it with
this adapter.
§Panics
Panics if options.max_line_length is zero.
Source§impl<T, F> ParseLines<CollectLinesAsync<T, F>>
impl<T, F> ParseLines<CollectLinesAsync<T, F>>
Sourcepub fn collect_async(options: LineParsingOptions, sink: T, f: F) -> Self
pub fn collect_async(options: LineParsingOptions, sink: T, f: F) -> Self
Convenience constructor: wraps sink and f in a CollectLinesAsync and composes it
with this adapter. The closure must wrap its async body in Box::pin(async move { ... }).
§Panics
Panics if options.max_line_length is zero.
Trait Implementations§
Source§impl<S: AsyncLineVisitor> AsyncStreamVisitor for ParseLines<S>
impl<S: AsyncLineVisitor> AsyncStreamVisitor for ParseLines<S>
Source§type Output = <S as AsyncLineVisitor>::Output
type Output = <S as AsyncLineVisitor>::Output
into_output after the visitor
has finished observing the stream. Returned via Consumer::wait
and Consumer::cancel.Source§async fn on_chunk(&mut self, chunk: Chunk) -> Next
async fn on_chunk(&mut self, chunk: Chunk) -> Next
Source§fn on_gap(&mut self)
fn on_gap(&mut self)
Source§fn into_output(self) -> Self::Output
fn into_output(self) -> Self::Output
Source§impl<S: LineVisitor> StreamVisitor for ParseLines<S>
impl<S: LineVisitor> StreamVisitor for ParseLines<S>
Source§type Output = <S as LineVisitor>::Output
type Output = <S as LineVisitor>::Output
into_output after the visitor has
finished observing the stream. Returned via Consumer::wait and
Consumer::cancel.