Skip to content

Commit

Permalink
refactor: move mod tokio_util to runtime (denoland#12332)
Browse files Browse the repository at this point in the history
This avoids a bunch of duplicated code.
  • Loading branch information
piscisaureus committed Nov 8, 2021
1 parent b042697 commit f1b1a3f
Show file tree
Hide file tree
Showing 9 changed files with 21 additions and 40 deletions.
2 changes: 1 addition & 1 deletion cli/lsp/cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ use crate::cache::FetchCacher;
use crate::flags::Flags;
use crate::proc_state::ProcState;
use crate::resolver::ImportMapResolver;
use crate::tokio_util::create_basic_runtime;

use deno_core::error::anyhow;
use deno_core::error::AnyError;
use deno_core::ModuleSpecifier;
use deno_runtime::permissions::Permissions;
use deno_runtime::tokio_util::create_basic_runtime;
use import_map::ImportMap;
use std::path::PathBuf;
use std::thread;
Expand Down
3 changes: 1 addition & 2 deletions cli/lsp/config.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.

use crate::tokio_util::create_basic_runtime;

use deno_core::error::anyhow;
use deno_core::error::AnyError;
use deno_core::parking_lot::RwLock;
Expand All @@ -11,6 +9,7 @@ use deno_core::serde_json;
use deno_core::serde_json::Value;
use deno_core::url::Url;
use deno_core::ModuleSpecifier;
use deno_runtime::tokio_util::create_basic_runtime;
use log::error;
use lsp::WorkspaceFolder;
use lspower::lsp;
Expand Down
2 changes: 1 addition & 1 deletion cli/lsp/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ use super::language_server;
use super::tsc;

use crate::diagnostics;
use crate::tokio_util::create_basic_runtime;

use deno_core::error::anyhow;
use deno_core::error::AnyError;
use deno_core::resolve_url;
use deno_core::serde_json::json;
use deno_core::ModuleSpecifier;
use deno_runtime::tokio_util::create_basic_runtime;
use log::error;
use lspower::lsp;
use std::collections::HashMap;
Expand Down
2 changes: 1 addition & 1 deletion cli/lsp/tsc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ use super::text::LineIndex;
use super::urls::INVALID_SPECIFIER;

use crate::config_file::TsConfig;
use crate::tokio_util::create_basic_runtime;
use crate::tsc;
use crate::tsc::ResolveArgs;

Expand All @@ -37,6 +36,7 @@ use deno_core::JsRuntime;
use deno_core::ModuleSpecifier;
use deno_core::OpFn;
use deno_core::RuntimeOptions;
use deno_runtime::tokio_util::create_basic_runtime;
use log::warn;
use lspower::lsp;
use regex::Captures;
Expand Down
6 changes: 3 additions & 3 deletions cli/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ mod resolver;
mod source_maps;
mod standalone;
mod text_encoding;
mod tokio_util;
mod tools;
mod tsc;
mod unix_util;
Expand Down Expand Up @@ -78,6 +77,7 @@ use deno_core::ModuleSpecifier;
use deno_runtime::colors;
use deno_runtime::ops::worker_host::CreateWebWorkerCb;
use deno_runtime::permissions::Permissions;
use deno_runtime::tokio_util::run_basic;
use deno_runtime::web_worker::WebWorker;
use deno_runtime::web_worker::WebWorkerOptions;
use deno_runtime::worker::MainWorker;
Expand Down Expand Up @@ -1389,7 +1389,7 @@ pub fn main() {
let args: Vec<String> = env::args().collect();
let standalone_res = match standalone::extract_standalone(args.clone()) {
Ok(Some((metadata, bundle))) => {
tokio_util::run_basic(standalone::run(bundle, metadata))
run_basic(standalone::run(bundle, metadata))
}
Ok(None) => Ok(()),
Err(err) => Err(err),
Expand Down Expand Up @@ -1417,5 +1417,5 @@ pub fn main() {

logger::init(flags.log_level);

unwrap_or_exit(tokio_util::run_basic(get_subcommand(flags)));
unwrap_or_exit(run_basic(get_subcommand(flags)));
}
25 changes: 0 additions & 25 deletions cli/tokio_util.rs

This file was deleted.

4 changes: 2 additions & 2 deletions cli/tools/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ use crate::lockfile;
use crate::ops;
use crate::proc_state::ProcState;
use crate::resolver::ImportMapResolver;
use crate::tokio_util;
use crate::tools::coverage::CoverageCollector;

use deno_ast::swc::common::comments::CommentKind;
Expand All @@ -33,6 +32,7 @@ use deno_core::serde_json::json;
use deno_core::JsRuntime;
use deno_core::ModuleSpecifier;
use deno_runtime::permissions::Permissions;
use deno_runtime::tokio_util::run_basic;
use log::Level;
use rand::rngs::SmallRng;
use rand::seq::SliceRandom;
Expand Down Expand Up @@ -782,7 +782,7 @@ async fn test_specifiers(
sender,
);

tokio_util::run_basic(future)
run_basic(future)
});

join_handle.join().unwrap()
Expand Down
10 changes: 10 additions & 0 deletions runtime/tokio_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,13 @@ pub fn create_basic_runtime() -> tokio::runtime::Runtime {
.build()
.unwrap()
}

// TODO(ry) rename to run_local ?
pub fn run_basic<F, R>(future: F) -> R
where
F: std::future::Future<Output = R>,
{
let rt = create_basic_runtime();
let local = tokio::task::LocalSet::new();
local.block_on(&rt, future)
}
7 changes: 2 additions & 5 deletions runtime/web_worker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::inspector_server::InspectorServer;
use crate::js;
use crate::ops;
use crate::permissions::Permissions;
use crate::tokio_util::create_basic_runtime;
use crate::tokio_util::run_basic;
use crate::BootstrapOptions;
use deno_broadcast_channel::InMemoryBroadcastChannel;
use deno_core::error::AnyError;
Expand Down Expand Up @@ -545,8 +545,6 @@ pub fn run_web_worker(
) -> Result<(), AnyError> {
let name = worker.name.to_string();

let rt = create_basic_runtime();

// TODO(bartlomieju): run following block using "select!"
// with terminate

Expand Down Expand Up @@ -587,6 +585,5 @@ pub fn run_web_worker(
debug!("Worker thread shuts down {}", &name);
result
};

rt.block_on(fut)
run_basic(fut)
}

0 comments on commit f1b1a3f

Please sign in to comment.