halt 0.2.0

Provides functionality for pausing, stopping, and resuming iterators, readers, and writers.

nyx

Travis Crates.io Docs

Provides functionality for pausing, stopping, and resuming iterators, readers, and writers.

Examples

Add this to Cargo.toml:

[dependencies]
halt = "0.2"

And this to main.rs:

use halt::Halt;
use std::io;
use std::thread;

fn main() {
    // Wrap a reader in the halt structure.
    let mut halt = Halt::new(io::repeat(0));
    // Get a remote to the reader.
    let remote = halt.remote();
    // Copy forever into a sink, in a separate thread.
    thread::spawn(move || io::copy(&mut halt, &mut io::sink()).unwrap());
    // The remote can now be used to either pause, stop, or resume the reader from the main thread.
    remote.pause();
    remote.resume();
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.