poll_until

Function poll_until 

Source
pub fn poll_until<F, E>(
    condition: F,
    timeout: Duration,
    poll_interval: Duration,
) -> Result<(), PollError<E>>
where F: FnMut() -> Result<bool, E>,
Expand description

Poll a condition with timeout

Repeatedly calls condition until it returns Ok(true) or timeout is reached.

§Arguments

  • condition - Function that returns Ok(true) when complete, Ok(false) to continue polling
  • timeout - Maximum duration to wait
  • poll_interval - Duration to sleep between condition checks

§Returns

  • Ok(()) when condition returns Ok(true)
  • Err(PollError::Timeout) when timeout is reached
  • Err(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),
)?;