Skip to main content

realtime/server/
config.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Deserialize, Serialize)]
4#[serde(default, deny_unknown_fields)]
5pub struct RealtimeConfig {
6    pub enabled: bool,
7    pub max_connections: usize,
8    pub max_channels_per_connection: usize,
9    pub max_message_bytes: usize,
10    pub heartbeat_interval_secs: u64,
11    pub idle_timeout_secs: u64,
12    pub outbound_queue_size: usize,
13    pub emit_rate_per_sec: u32,
14    pub join_rate_per_sec: u32,
15}
16
17impl Default for RealtimeConfig {
18    fn default() -> Self {
19        Self {
20            enabled: true,
21            max_connections: 10_000,
22            max_channels_per_connection: 100,
23            max_message_bytes: 64 * 1024,
24            heartbeat_interval_secs: 20,
25            idle_timeout_secs: 60,
26            outbound_queue_size: 256,
27            emit_rate_per_sec: 100,
28            join_rate_per_sec: 50,
29        }
30    }
31}