deno/cli/tokio_util.rs
2020-01-02 15:13:47 -05:00

30 lines
686 B
Rust

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
use std::future::Future;
use tokio;
use tokio::runtime;
pub fn run<F>(future: F)
where
F: Future<Output = ()> + Send + 'static,
{
let mut rt = runtime::Builder::new()
.threaded_scheduler()
.enable_all()
.thread_name("deno")
.build()
.expect("Unable to create Tokio runtime");
rt.block_on(future);
}
pub fn run_on_current_thread<F>(future: F)
where
F: Future<Output = ()> + Send + 'static,
{
let mut rt = runtime::Builder::new()
.basic_scheduler()
.enable_all()
.thread_name("deno")
.build()
.expect("Unable to create Tokio runtime");
rt.block_on(future);
}