Expand description

Async WebSocket usage.

This library is an implementation of WebSocket handshakes and streams. It is based on the crate which implements all required WebSocket protocol logic. So this crate basically just brings tokio support / tokio integration to it.

Each WebSocket stream implements the required Stream and Sink traits, so the socket is just a stream of messages coming in and going out.

Re-exports

Structs

  • A wrapper around an underlying raw stream which implements the WebSocket protocol.

Enums

  • A connector that can be used when establishing connections, allowing to control whether native-tls or rustls is used to create a TLS connection. Or TLS can be disabled with the Plain variant.
  • A stream that might be protected with TLS.

Functions

  • Accepts a new WebSocket connection with the provided stream.
  • The same as accept_async() but the one can specify a websocket configuration. Please refer to accept_async() for more details.
  • Accepts a new WebSocket connection with the provided stream.
  • The same as accept_hdr_async() but the one can specify a websocket configuration. Please refer to accept_hdr_async() for more details.
  • Creates a WebSocket handshake from a request and a stream. For convenience, the user may call this with a url string, a URL, or a Request. Calling with Request allows the user to add a WebSocket protocol or other custom headers.
  • Creates a WebSocket handshake from a request and a stream, upgrading the stream to TLS if required.
  • The same as client_async_tls() but the one can specify a websocket configuration, and an optional connector. If no connector is specified, a default one will be created.
  • The same as client_async() but the one can specify a websocket configuration. Please refer to client_async() for more details.
  • Connect to a given URL.
  • The same as connect_async() but the one can specify a websocket configuration, and a TLS connector to use. Please refer to connect_async() for more details. disable_nagle specifies if the Nagle’s algorithm must be disabled, i.e. set_nodelay(true). If you don’t know what the Nagle’s algorithm is, better leave it to false.
  • The same as connect_async() but the one can specify a websocket configuration. Please refer to connect_async() for more details. disable_nagle specifies if the Nagle’s algorithm must be disabled, i.e. set_nodelay(true). If you don’t know what the Nagle’s algorithm is, better leave it set to false.