#[derive(Debug, Clone)]
pub struct WebsocketConfig {
pub(crate) read_buffer_size: usize,
pub(crate) write_buffer_size: usize,
pub(crate) max_write_buffer_size: usize,
pub(crate) max_message_size: Option<usize>,
}
impl Default for WebsocketConfig {
fn default() -> Self {
Self {
read_buffer_size: 128 * 1024,
write_buffer_size: 128 * 1024,
max_write_buffer_size: usize::MAX,
max_message_size: Some(64 << 20),
}
}
}
impl WebsocketConfig {
pub fn new() -> Self {
Default::default()
}
pub fn read_buffer_size(mut self, read_buffer_size: usize) -> Self {
self.read_buffer_size = read_buffer_size;
self
}
pub fn write_buffer_size(mut self, write_buffer_size: usize) -> Self {
self.write_buffer_size = write_buffer_size;
self
}
pub fn max_write_buffer_size(mut self, max_write_buffer_size: usize) -> Self {
self.max_write_buffer_size = max_write_buffer_size;
self
}
pub fn max_message_size(mut self, max_message_size: impl Into<Option<usize>>) -> Self {
self.max_message_size = max_message_size.into();
self
}
}