pub fn block_on_stream<S: Stream + Unpin>(stream: S) -> BlockingStream<S> {
    BlockingStream { stream }
}
Turn a stream into a blocking iterator.

When `next` is called on the resulting `BlockingStream`, the caller
will be blocked until the next element of the `Stream` becomes available.
futures-executor/src/local_pool.rs