Trait tendril::stream::TendrilSink
source · [−]pub trait TendrilSink<F, A = NonAtomic> where
F: Format,
A: Atomicity, {
type Output;
fn process(&mut self, t: Tendril<F, A>);
fn error(&mut self, desc: Cow<'static, str>);
fn finish(self) -> Self::Output;
fn one<T>(self, t: T) -> Self::Output
where
Self: Sized,
T: Into<Tendril<F, A>>,
{ ... }
fn from_iter<I>(self, i: I) -> Self::Output
where
Self: Sized,
I: IntoIterator,
I::Item: Into<Tendril<F, A>>,
{ ... }
fn read_from<R>(self, r: &mut R) -> Result<Self::Output>
where
Self: Sized,
R: Read,
F: SliceFormat<Slice = [u8]>,
{ ... }
fn from_file<P>(self, path: P) -> Result<Self::Output>
where
Self: Sized,
P: AsRef<Path>,
F: SliceFormat<Slice = [u8]>,
{ ... }
}
Expand description
Trait for types that can process a tendril.
This is a “push” interface, unlike the “pull” interface of
Iterator<Item=Tendril<F>>
. The push interface matches
html5ever and other incremental parsers with a similar
architecture.
Associated Types
Required methods
Provided methods
Process one tendril and finish.
Consume an iterator of tendrils, processing each item, then finish.
Read from the given stream of bytes until exhaustion and process incrementally,
then finish. Return Err
at the first I/O error.