Crate tokio_tungstenite

Source
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§

pub use tungstenite;

Structs§

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

Enums§

Connector
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.
MaybeTlsStream
A stream that might be protected with TLS.

Functions§

accept_async
Accepts a new WebSocket connection with the provided stream.
accept_async_with_config
The same as accept_async() but the one can specify a websocket configuration. Please refer to accept_async() for more details.
accept_hdr_async
Accepts a new WebSocket connection with the provided stream.
accept_hdr_async_with_config
The same as accept_hdr_async() but the one can specify a websocket configuration. Please refer to accept_hdr_async() for more details.
client_async
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.
client_async_tls
Creates a WebSocket handshake from a request and a stream, upgrading the stream to TLS if required.
client_async_tls_with_config
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.
client_async_with_config
The same as client_async() but the one can specify a websocket configuration. Please refer to client_async() for more details.
connect_async
Connect to a given URL.
connect_async_tls_with_config
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.
connect_async_with_config
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.