Crate veilid_async_tungstenite
source ·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 TcpStream
s 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_tls
module, which provides integration with the async-tls TLS stack and can be used independent of any async runtime.async-std-runtime
: Enables theasync_std
module, which provides integration with the async-std runtime.async-native-tls
: Enables the additional functions in theasync_std
module to implement TLS via async-native-tls.tokio-runtime
: Enables thetokio
module, which provides integration with the tokio runtime.tokio-native-tls
: Enables the additional functions in thetokio
module to implement TLS via tokio-native-tls.tokio-rustls-native-certs
: Enables the additional functions in thetokio
module 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 thetokio
module to implement TLS via tokio-rustls and uses the certificates webpki-roots provides.tokio-openssl
: Enables the additional functions in thetokio
module to implement TLS via tokio-openssl.gio-runtime
: Enables thegio
module, 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 tungstenite;
Modules
async-std
integration.async-tls
integration.gio
integration.- Convenience wrapper for streams to switch between plain TCP and TLS at runtime.
tokio
integration.
Structs
- A wrapper around an underlying raw stream which implements the WebSocket protocol.
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 toaccept_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 toaccept_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 withRequest
allows the user to add a WebSocket protocol or other custom headers. - The same as
client_async()
but the one can specify a websocket configuration. Please refer toclient_async()
for more details.