use std::time::Duration;
use sui_sdk_types::Address;
#[derive(Clone, Debug)]
pub struct AuthenticatedEventsConfig {
pub stream_id: Address,
pub start_checkpoint: Option<u64>,
pub page_size: u32,
pub channel_capacity: usize,
pub max_connect_retries: u32,
pub retry_backoff: Duration,
pub retry_jitter: Duration,
pub head_check_interval: Duration,
}
impl AuthenticatedEventsConfig {
pub fn new(stream_id: Address) -> Self {
Self {
stream_id,
..Self::default_for_dummy_stream()
}
}
fn default_for_dummy_stream() -> Self {
Self {
stream_id: Address::ZERO,
start_checkpoint: None,
page_size: 1000,
channel_capacity: 256,
max_connect_retries: 5,
retry_backoff: Duration::from_millis(500),
retry_jitter: Duration::from_millis(250),
head_check_interval: Duration::from_secs(30),
}
}
}