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.

Required Associated Types§

What the overall result of processing is.

Required Methods§

Process this tendril.

Indicates that an error has occurred.

Indicates the end of the stream.

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.

Read from the file at the given path and process incrementally, then finish. Return Err at the first I/O error.

Implementors§