[][src]Trait tendril::stream::TendrilSink

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]>
, { ... } }

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

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

impl<Sink, A> TendrilSink<Bytes, A> for Utf8LossyDecoder<Sink, A> where
    Sink: TendrilSink<UTF8, A>,
    A: Atomicity
[src]