Skip to content

Commit 858bbe9

Browse files
committed
feat: update vm to be async
1 parent 1a94ed3 commit 858bbe9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1932
-1623
lines changed

Cargo.lock

Lines changed: 36 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ sys-locale = "0.3.1"
4343
tar = "0.4.42"
4444
tempfile = "3.13.0"
4545
thiserror = "1.0.64"
46+
tokio = { version = "1.40.0", default-features = false, features = ["macros", "rt", "sync"] }
4647
tracing = "0.1.40"
4748
tracing-subscriber = "0.3.18"
4849
whoami = "1.5.2"

examples/class_loader/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ version.workspace = true
77

88
[dependencies]
99
ristretto_classloader = { path = "../../ristretto_classloader" }
10+
tokio = { workspace = true, features = ["rt-multi-thread"] }

examples/class_loader/src/main.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
use ristretto_classloader::{ClassLoader, ClassPath, Result};
55

66
/// Example that uses a class loader to load a class.
7-
fn main() -> Result<()> {
7+
#[tokio::main]
8+
async fn main() -> Result<()> {
89
let class_path = ClassPath::from("classes");
910
let class_loader = ClassLoader::new("example", class_path);
10-
let class = class_loader.load("HelloWorld")?;
11+
let class = class_loader.load("HelloWorld").await?;
1112
println!("{class:?}");
1213
Ok(())
1314
}

examples/runtime_class_loader/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ version.workspace = true
77

88
[dependencies]
99
ristretto_classloader = { path = "../../ristretto_classloader" }
10+
tokio = { workspace = true, features = ["rt-multi-thread"] }

examples/runtime_class_loader/src/main.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
use ristretto_classloader::{runtime, Result};
55

66
/// Example that loads a class from the Java runtime.
7-
fn main() -> Result<()> {
8-
let (version, class_loader) = runtime::class_loader("21")?;
7+
#[tokio::main]
8+
async fn main() -> Result<()> {
9+
let (version, class_loader) = runtime::class_loader("21").await?;
910
let class_name = "java/util/HashMap";
1011
println!("Loading {class_name} from Java runtime {version}");
11-
let class = class_loader.load(class_name)?;
12+
let class = class_loader.load(class_name).await?;
1213
println!("{class:?}");
1314
Ok(())
1415
}

ristretto_classfile/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ anyhow = { workspace = true }
2020
criterion = { workspace = true }
2121
flate2 = { workspace = true }
2222
indoc = { workspace = true }
23-
reqwest = { workspace = true, features = ["blocking"] }
23+
reqwest = { workspace = true }
2424
tar = { workspace = true }
25+
tokio = { workspace = true }
2526
zip = { workspace = true }
2627

2728
[[bench]]

0 commit comments

Comments
 (0)