cloudpub_common/
constants.rs1use backoff::ExponentialBackoff;
2use std::time::Duration;
3
4pub const DEFAULT_HEARTBEAT_INTERVAL_SECS: u64 = 30;
6pub const DEFAULT_HEARTBEAT_TIMEOUT_SECS: u64 = 40;
7
8pub const DATA_BUFFER_SIZE: usize = 16384; pub const DATA_CHANNEL_SIZE: usize = 1024; pub const CONTROL_CHANNEL_SIZE: usize = 1024; pub const DEFAULT_CLIENT_RETRY_INTERVAL_SECS: u64 = 60;
14pub const DEFAULT_CLIENT_DATA_CHANNEL_CAPACITY: u32 = DATA_BUFFER_SIZE as u32 * 4;
15
16pub const BACKLOG_SIZE: usize = 1024; pub const HANDSHAKE_TIMEOUT: u64 = 5; pub const DEFAULT_NODELAY: bool = true;
22pub const DEFAULT_KEEPALIVE_SECS: u64 = 20;
23pub const DEFAULT_KEEPALIVE_INTERVAL: u64 = 8;
24pub const MESSAGE_TIMEOUT_SECS: u64 = 60;
25
26pub const DEFAULT_CONNECT_TIMEOUT_SECS: u64 = 30;
31
32pub const WEBSOCKET_READ_BUFFER_SIZE: usize = 16 * 1024;
41
42pub const UDP_BUFFER_SIZE: usize = 2048;
45pub const UDP_SENDQ_SIZE: usize = 1024;
46pub const UDP_TIMEOUT: u64 = 60;
47
48pub const LISTENERS_PER_FD: usize = 1;
50
51pub fn listen_backoff() -> ExponentialBackoff {
52 ExponentialBackoff {
53 max_elapsed_time: None,
54 max_interval: Duration::from_secs(1),
55 ..Default::default()
56 }
57}
58
59pub fn run_control_chan_backoff(interval: u64) -> ExponentialBackoff {
60 ExponentialBackoff {
61 randomization_factor: 0.2,
62 max_elapsed_time: None,
63 multiplier: 3.0,
64 max_interval: Duration::from_secs(interval),
65 ..Default::default()
66 }
67}