pub fn poll_until<F, E>(
condition: F,
timeout: Duration,
poll_interval: Duration,
) -> Result<(), PollError<E>>Expand description
Poll a condition with timeout
Repeatedly calls condition until it returns Ok(true) or timeout is reached.
§Arguments
condition- Function that returnsOk(true)when complete,Ok(false)to continue pollingtimeout- Maximum duration to waitpoll_interval- Duration to sleep between condition checks
§Returns
Ok(())when condition returnsOk(true)Err(PollError::Timeout)when timeout is reachedErr(PollError::ConditionError(e))when condition returns an error
§Example
use std::time::Duration;
use rusty_tip::utils::poll_until;
use rusty_tip::NanonisClient;
let mut client = NanonisClient::new("127.0.0.1", 6501)?;
// Poll until auto-approach completes
poll_until(
|| client.auto_approach_on_off_get().map(|running| !running),
Duration::from_secs(300),
Duration::from_millis(100),
)?;