in src/cache.rs [211:230]
fn check_data(jobs: Vec<Job>) -> Option<Job> {
let client = Client::new();
let n_queries = jobs.len();
let results = Arc::new(Mutex::new(Vec::new()));
Runtime::new().unwrap().block_on(async {
stream::iter(jobs)
.map({
let results = &results;
let client = &client;
move |job| check_if_file_exists(Arc::clone(results), client, job)
})
.buffer_unordered(n_queries)
.collect::<Vec<()>>()
.await
});
let results = Arc::try_unwrap(results).unwrap().into_inner().unwrap();
results.first().cloned()
}