tokio-scoped 0.2.0

Scoped Runtime for tokio
Documentation

tokio-scoped

tokio-scoped provides a scope function inspired by crossbeam but for the tokio Runtime. A scope allows one to spawn futures which do not have a 'static lifetime by ensuring each future spawned in the scope completes before the scope exits.

Example

#[tokio::main]
async fn main() {
    let mut v = String::from("Hello");
    tokio_scoped::scope(|scope| {
        // Use the scope to spawn the future.
        scope.spawn(async {
            v.push('!');
        });
    });
    // The scope won't exit until all spawned futures are complete.
    assert_eq!(v.as_str(), "Hello!");
}