Struct tk_http::websocket::Config
[−]
[src]
pub struct Config { /* fields omitted */ }
Configuration of a websocket::Loop
object (a server-side websocket
connection).
Methods
impl Config
[src]
fn new() -> Config
Create a config with defaults
fn ping_interval(&mut self, dur: Duration) -> &mut Self
Set ping interval
Default is 10 seconds.
If no messages have been received within this interval, we send a ping message. Only full messages are accounted. If some large frame is being received for this long, we still send ping.
Note: you can't remove the interval, but you can set it to a sufficiently large value.
Note 2: you may also need to tune inactivity timeout if you change this value.
fn inactivity_timeout(&mut self, dur: Duration) -> &mut Self
Set inactivity timeout
Default is 25 seconds.
A connection is shut down if no messages were received during this interval.
Note: only full frames are accounted. If some very large frame is being sent too long, we drop the connection. So be sure to set this value large enough so that slowest client can send largest frame and another ping.
There are two use cases for this interval:
Make it 2.5x the ping_interval to detect connections which don't have destination host alive
Inactivity interval that is smaller than
ping_interval
will detect connections which are alive but do not send any messages. This is similar to how HTTP servers shutdown inactive connections.
Note: you may also need to tune ping interval if you change this value.
fn max_packet_size(&mut self, size: usize) -> &mut Self
Maximum packet size
If some frame declares size larger than this, we immediately abort the connection
fn done(&mut self) -> Arc<Config>
Create a Arc'd config clone to pass to the constructor
This is just a convenience method.
Trait Implementations
impl Debug for Config
[src]
impl Clone for Config
[src]
fn clone(&self) -> Config
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more