pub struct Config {
pub max_message_size: usize,
pub max_frame_size: usize,
pub write_buffer_size: usize,
pub compression: Compression,
pub idle_timeout: u32,
pub max_backpressure: usize,
pub auto_ping: bool,
pub ping_interval: u32,
pub deflate: Option<DeflateConfig>,
}Expand description
Configuration for WebSocket connections
Mirrors uWebSockets configuration options for familiarity.
§Example
use sockudo_ws::{Config, Compression};
let config = Config::builder()
.compression(Compression::Shared)
.max_payload_length(16 * 1024)
.idle_timeout(10)
.max_backpressure(1024 * 1024)
.build();Fields§
§max_message_size: usizeMaximum message size (default: 64MB) Equivalent to uWS maxPayloadLength
max_frame_size: usizeMaximum frame size (default: 16MB)
write_buffer_size: usizeWrite buffer size for corking (default: 16KB)
compression: CompressionCompression mode (default: Disabled)
idle_timeout: u32Idle timeout in seconds (default: 120, 0 = disabled) Connection is closed if no data received within this time
max_backpressure: usizeMaximum backpressure in bytes before dropping connection (default: 1MB) If write buffer exceeds this, connection is closed
auto_ping: boolSend pings automatically to keep connection alive (default: true)
ping_interval: u32Ping interval in seconds (default: 30)
deflate: Option<DeflateConfig>Per-message deflate configuration (requires permessage-deflate feature)
Implementations§
Source§impl Config
impl Config
Sourcepub fn builder() -> ConfigBuilder
pub fn builder() -> ConfigBuilder
Create a new config builder
Sourcepub fn uws_defaults() -> Self
pub fn uws_defaults() -> Self
Create config with uWebSockets-style defaults