use core::ops::RangeInclusive;
use core::time::Duration;
pub(super) const DEFAULT_NOTIFICATION_CHANNEL_SIZE: usize = 2048;
pub(crate) const DEFAULT_FETCH_EVENTS_LIMIT: usize = 10_000;
pub(super) const MAX_MESSAGE_SIZE: u32 = 5 * 1024 * 1024;
pub(super) const DEFAULT_RETRY_INTERVAL: Duration = Duration::from_secs(10);
pub(super) const MAX_RETRY_INTERVAL: Duration = Duration::from_secs(60);
pub(super) const JITTER_RANGE: RangeInclusive<i8> = -3..=3;
pub(super) const NEGENTROPY_FRAME_SIZE_LIMIT: u64 = 60_000; pub(super) const NEGENTROPY_HIGH_WATER_UP: usize = 100;
pub(super) const NEGENTROPY_LOW_WATER_UP: usize = 50;
pub(super) const NEGENTROPY_BATCH_SIZE_DOWN: usize = 100;
pub(super) const MIN_ATTEMPTS: usize = 1;
pub(super) const MIN_SUCCESS_RATE: f64 = 0.90;
pub(super) const PING_INTERVAL: Duration = Duration::from_secs(55);
#[cfg(not(test))]
pub(super) const SLEEP_INTERVAL: Duration = Duration::from_secs(60);
#[cfg(test)]
pub(super) const SLEEP_INTERVAL: Duration = Duration::from_secs(1);
pub(super) const WEBSOCKET_TX_TIMEOUT: Duration = Duration::from_secs(10);
#[cfg(not(target_arch = "wasm32"))]
pub(crate) const LATENCY_MIN_READS: u64 = 3;