diff --git a/Cargo.lock b/Cargo.lock index 95c71db..d643133 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -414,7 +414,7 @@ dependencies = [ [[package]] name = "escl" -version = "0.2.0" +version = "0.3.0" dependencies = [ "futures-util", "mdns", diff --git a/examples/scan.rs b/examples/scan.rs index ad3183d..52470dd 100644 --- a/examples/scan.rs +++ b/examples/scan.rs @@ -3,6 +3,7 @@ use std::{io::Write, time::Duration}; use escl::{ discover, settings::{ContentRegionUnits, InputSource, ScanRegion, ScanRegions}, + status::ScannerState, Scanner, }; @@ -60,8 +61,16 @@ async fn main() { .expect("unable to submit scan job"); println!("Scan job URL: {}", job.job_url()); - let status = scanner.status().await.expect("unable to fetch status"); - println!("Scanner status: \n{:#?}", status); + loop { + let status = scanner.status().await.expect("unable to fetch status"); + println!("Scanner status: \n{:#?}", status); + + if status.state != ScannerState::Processing { + break; + } + + tokio::time::sleep(Duration::from_secs(1)).await; + } println!("Downloading scanned page..."); let image = job