Expand description
Async WebSockets.
This crate is based on tungstenite
Rust WebSocket library and provides async bindings and wrappers for it, so you
can use it with non-blocking/asynchronous TcpStreams from and couple it
together with other crates from the async stack. In addition, optional
integration with various other crates can be enabled via feature flags
async-tls: Enables theasync_tlsmodule, which provides integration with the async-tls TLS stack and can be used independent of any async runtime.async-std-runtime: Enables theasync_stdmodule, which provides integration with the async-std runtime.async-native-tls: Enables the additional functions in theasync_stdmodule to implement TLS via async-native-tls.tokio-runtime: Enables thetokiomodule, which provides integration with the tokio runtime.tokio-native-tls: Enables the additional functions in thetokiomodule to implement TLS via tokio-native-tls.tokio-rustls-native-certs: Enables the additional functions in thetokiomodule to implement TLS via tokio-rustls and uses native system certificates found with rustls-native-certs.tokio-rustls-webpki-roots: Enables the additional functions in thetokiomodule to implement TLS via tokio-rustls and uses the certificates webpki-roots provides.tokio-openssl: Enables the additional functions in thetokiomodule to implement TLS via tokio-openssl.gio-runtime: Enables thegiomodule, which provides integration with the gio runtime.
Each WebSocket stream implements the required Stream and Sink traits,
making the socket a stream of WebSocket messages coming in and going out.
Re-exportsยง
pub use bytes::ByteReader;pub use bytes::ByteWriter;pub use tungstenite;
Modulesยง
- bytes
 - Provides abstractions to use 
AsyncReadandAsyncWritewith aWebSocketStreamor aWebSocketSender. - compat ๐
 - handshake ๐
 - stream
 - Convenience wrapper for streams to switch between plain TCP and TLS at runtime.
 - tokio
 tokiointegration.
Structsยง
- Send ๐
 - Shared ๐
 - WebSocket
Receiver  - The receiver part of a websocket stream.
 - WebSocket
Sender  - The sender part of a websocket stream.
 - WebSocket
Stream  - A wrapper around an underlying raw stream which implements the WebSocket protocol.
 
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 toaccept_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 toaccept_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 withRequestallows the user to add a WebSocket protocol or other custom headers. - client_
async_ with_ config  - The same as 
client_async()but the one can specify a websocket configuration. Please refer toclient_async()for more details. - domain ๐
 - Get a domain from an URL.
 - port ๐
 - Get the port from an URL.
 - send_
helper ๐ - Performs an asynchronous message send to the websocket.