figshare_rs/poll.rs
1//! Polling configuration for asynchronous Figshare state transitions.
2
3use std::time::Duration;
4
5/// Backoff settings used by workflow helpers while waiting for Figshare.
6#[derive(Clone, Debug, PartialEq, Eq)]
7pub struct PollOptions {
8 /// Maximum total time to wait before failing.
9 pub max_wait: Duration,
10 /// Delay before the first retry.
11 pub initial_delay: Duration,
12 /// Maximum delay between retries.
13 pub max_delay: Duration,
14}
15
16impl Default for PollOptions {
17 fn default() -> Self {
18 Self {
19 max_wait: Duration::from_secs(60),
20 initial_delay: Duration::from_secs(1),
21 max_delay: Duration::from_secs(2),
22 }
23 }
24}