pub struct ServerConfig {Show 15 fields
pub bind_address: SocketAddr,
pub max_connections: usize,
pub max_frame_size: usize,
pub max_message_size: usize,
pub handshake_timeout: Duration,
pub idle_timeout: Duration,
pub compression: CompressionConfig,
pub backpressure: BackpressureConfig,
pub tls: Option<TlsConfig>,
pub transport_type: TransportType,
pub supported_protocols: Vec<String>,
pub supported_extensions: Vec<String>,
pub allowed_origins: Vec<String>,
pub extra_headers: HashMap<String, String>,
pub rate_limit: Option<RateLimitConfig>,
}Expand description
Server configuration
Fields§
§bind_address: SocketAddrBind address
max_connections: usizeMaximum concurrent connections
max_frame_size: usizeMaximum frame size in bytes
max_message_size: usizeMaximum message size in bytes
handshake_timeout: DurationHandshake timeout
idle_timeout: DurationIdle timeout
compression: CompressionConfigCompression configuration
backpressure: BackpressureConfigBackpressure configuration
tls: Option<TlsConfig>TLS configuration
transport_type: TransportTypeTransport type
supported_protocols: Vec<String>Supported WebSocket subprotocols
supported_extensions: Vec<String>Supported WebSocket extensions
allowed_origins: Vec<String>Allowed origins for CORS (empty means allow all)
extra_headers: HashMap<String, String>Extra headers to send in handshake response
rate_limit: Option<RateLimitConfig>Optional rate-limiting configuration (independent of backpressure).
When Some, a rate-limiter is created and enforced for every incoming connection.
When None, no rate-limiting is applied.
Implementations§
Trait Implementations§
Source§impl Clone for ServerConfig
impl Clone for ServerConfig
Source§fn clone(&self) -> ServerConfig
fn clone(&self) -> ServerConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServerConfig
impl Debug for ServerConfig
Auto Trait Implementations§
impl Freeze for ServerConfig
impl RefUnwindSafe for ServerConfig
impl Send for ServerConfig
impl Sync for ServerConfig
impl Unpin for ServerConfig
impl UnsafeUnpin for ServerConfig
impl UnwindSafe for ServerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more