re_ws_comms 0.20.1

WebSocket communication library (encoding, decoding, client, server) between a Rerun server and viewer
Documentation
[package]
name = "re_ws_comms"
authors.workspace = true
description = "WebSocket communication library (encoding, decoding, client, server) between a Rerun server and viewer"
edition.workspace = true
homepage.workspace = true
include.workspace = true
license.workspace = true
publish = true
readme = "README.md"
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[lints]
workspace = true

[package.metadata.docs.rs]
all-features = true


[features]
## Enable the client (viewer-side).
client = ["ewebsock"]

## Enable the server.
server = [
  "dep:parking_lot",
  "dep:re_smart_channel",
  "dep:tungstenite",
  "dep:polling",
  "tungstenite/handshake",
]

## Enable encryption using TLS support (`wss://`).
tls = [
  "ewebsock/tls",
  "tungstenite/rustls-tls-webpki-roots", # TODO(emilk): there is some problem with this. check alternative tungstenite tls features
]


[dependencies]
re_format.workspace = true
re_log.workspace = true
re_log_types = { workspace = true, features = ["serde"] }
re_memory.workspace = true
re_tracing.workspace = true

anyhow.workspace = true
bincode.workspace = true
document-features.workspace = true
thiserror.workspace = true

# Client:
ewebsock = { workspace = true, optional = true }

# Server:
parking_lot = { workspace = true, optional = true }
polling = { workspace = true, optional = true }
re_smart_channel = { workspace = true, optional = true }
tungstenite = { workspace = true, optional = true, default-features = false }