4 releases (2 stable)
2.0.0 | Jun 16, 2024 |
---|---|
1.0.0 | Jan 4, 2024 |
0.2.0 | Sep 7, 2020 |
0.1.0 | Aug 31, 2020 |
#88 in Asynchronous
38,447 downloads per month
Used in 32 crates
(14 directly)
19KB
338 lines
async-walkdir
Asynchronous directory traversal for Rust.
Based on async-fs and blocking, it uses a thread pool to handle blocking IOs. Please refere to those crates for the rationale. This crate is compatible with async runtimes tokio, async-std, smol and potentially any runtime based on futures 0.3
We do not plan to be as feature full as Walkdir crate in the synchronous world, but do not hesitate to open an issue or a PR.
Example
use async_walkdir::WalkDir;
use futures_lite::future::block_on;
use futures_lite::stream::StreamExt;
block_on(async {
let mut entries = WalkDir::new("my_directory");
loop {
match entries.next().await {
Some(Ok(entry)) => println!("file: {}", entry.path().display()),
Some(Err(e)) => {
eprintln!("error: {}", e);
break;
},
None => break,
}
}
});
Dependencies
~1.3–1.8MB
~33K SLoC