next_web_websocket/properties/
ws_properties.rs

1use rudi_dev::{Properties, Singleton};
2
3/// WebSocket配置属性,用于配置WebSocket连接的相关参数
4#[Singleton(default, binds=[Self::into_properties])]
5#[Properties(prefix = "next.ws")]
6#[derive(Debug, Clone, Default, serde::Deserialize)]
7pub struct WebSocketProperties {
8    max_msg_size: Option<usize>,
9    max_write_buffer_size: Option<usize>,
10    max_session_idle_timeout: Option<u64>,
11}
12
13impl WebSocketProperties {
14    /// 最大消息大小
15    pub fn max_msg_size(&self) -> Option<usize> {
16        self.max_msg_size
17    }
18
19    /// 最大二写入 buff 容量大小
20    pub fn max_write_buffer_size(&self) -> Option<usize> {
21        self.max_write_buffer_size
22    }
23
24    /// 最大 Session 空闲超时时间
25    pub fn max_session_idle_timeout(&self) -> Option<u64> {
26        self.max_session_idle_timeout
27    }
28}