Struct html5ever_stream::NodeStream [] [src]

pub struct NodeStream(_);

NodeStream uses a VecDeque to fully traverse the given RcDom and emit reference counted handles to each node as a futures::Stream. Pretty sure this won't leak memory since everything is either owned by a NodeStream struct or Rc'd. TODO(rossdylan) Actually verify that this doesn't leak

Examples

extern crate html5ever;
extern crate hyper;
extern crate html5ever_stream;
extern crate futures;

use futures::{Future, Stream};
use html5ever_stream::{ParserFuture, NodeStream};
use html5ever::rcdom::{RcDom, NodeData};
use hyper::Body;

const TEST_HTML: &'static str = "<html> <head> <title> test </title> </head> </html>";
let body: Body = TEST_HTML.into();
let dom = ParserFuture::new(body, RcDom::default()).wait().unwrap();
NodeStream::new(&dom).for_each(|n| {
    match &n.data {
        NodeData::Element { ref name, .. } => {
            println!("elemn: {}", name.local);
        },
        _ => {},
    };
    Ok(())
}).wait();

Methods

impl NodeStream
[src]

[src]

Trait Implementations

impl Stream for NodeStream
[src]

The type of item this stream will yield on success.

The type of error this stream may generate.

[src]

Attempt to pull out the next value of this stream, returning None if the stream is finished. Read more

[src]

Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more

[src]

Converts this stream into a Future. Read more

[src]

Converts a stream of type T to a stream of type U. Read more

[src]

Converts a stream of error type T to a stream of error type U. Read more

[src]

Filters the values produced by this stream according to the provided predicate. Read more

[src]

Filters the values produced by this stream while simultaneously mapping them to a different type. Read more

[src]

Chain on a computation for when a value is ready, passing the resulting item to the provided closure f. Read more

[src]

Chain on a computation for when a value is ready, passing the successful results to the provided closure f. Read more

[src]

Chain on a computation for when an error happens, passing the erroneous result to the provided closure f. Read more

[src]

Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more

[src]

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

[src]

Deprecated since 0.1.14

: please use Stream::concat2 instead

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

[src]

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more

[src]

Flattens a stream of streams into just one continuous stream. Read more

[src]

Skip elements on this stream while the predicate provided resolves to true. Read more

[src]

Take elements from this stream while the predicate provided resolves to true. Read more

[src]

Runs this stream to completion, executing the provided closure for each element on the stream. Read more

[src]

Map this stream's error to any error implementing From for this stream's Error, returning a new stream. Read more

[src]

Creates a new stream of at most amt items of the underlying stream. Read more

[src]

Creates a new stream which skips amt items of the underlying stream. Read more

[src]

Fuse a stream such that poll will never again be called once it has finished. Read more

[src]

Borrows a stream, rather than consuming it. Read more

[src]

Catches unwinding panics while polling the stream. Read more

[src]

An adaptor for creating a buffered list of pending futures. Read more

[src]

An adaptor for creating a buffered list of pending futures (unordered). Read more

[src]

Deprecated

: functionality provided by select now

An adapter for merging the output of two streams. Read more

[src]

An adapter for zipping two streams together. Read more

[src]

Adapter for chaining two stream. Read more

[src]

Creates a new stream which exposes a peek method. Read more

[src]

An adaptor for chunking up items of the stream inside a vector. Read more

[src]

Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more

[src]

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more

[src]

Splits this Stream + Sink object into separate Stream and Sink objects. Read more

[src]

Do something with each item of this stream, afterwards passing it on. Read more

[src]

Do something with the error of this stream, afterwards passing it on. Read more

Auto Trait Implementations

impl !Send for NodeStream

impl !Sync for NodeStream