[package] name = "sfu" version = "0.0.3" authors = ["Rusty Rain "] edition = "2021" description = "WebRTC Selective Forwarding Unit (SFU) in Rust with Sans-IO" license = "MIT/Apache-2.0" documentation = "https://docs.rs/sfu" repository = "https://github.com/webrtc-rs/sfu" homepage = "https://sfu.rs" keywords = ["networking", "protocols", "webrtc", "sans-io", "sfu"] categories = ["network-programming", "asynchronous", "multimedia"] [dependencies] retty = "0.27.0" bytes = "1.5" log = "0.4" base64 = "0.22" serde = "1" serde_json = { version = "1", features = [] } rand = "0.8" rcgen = { version = "0.12", features = ["pem", "x509-parser"] } ring = "0.17" sha2 = "0.10" rustls = "0.21" url = { version = "2", features = [] } hex = { version = "0.4", features = [] } # RTC protocols shared = { version = "0.1.1", package = "rtc-shared" } sdp = { version = "0.1.1", package = "rtc-sdp" } stun = { version = "0.1.1", package = "rtc-stun" } rtp = { version = "0.1", package = "rtc-rtp" } rtcp = { version = "0.1", package = "rtc-rtcp" } srtp = { version = "0.1.1", package = "rtc-srtp" } dtls = { version = "0.1.1", package = "rtc-dtls" } sctp = { version = "0.1.1", package = "rtc-sctp" } datachannel = { version = "0.1", package = "rtc-datachannel" } [dev-dependencies] # common chrono = "0.4.34" env_logger = "0.11" clap = { version = "4.5", features = ["derive"] } anyhow = "1" rouille = { version = "3.6", features = ["ssl"] } systemstat = "0.2" # sync_chat wg = "0.7" crossbeam-channel = "0.5" ctrlc = "3.4" # async_chat futures = "0.3" smol = "2" async-broadcast = "0.7" waitgroup = "0.1" core_affinity = "0.8" num_cpus = "1.16" tokio = { version = "1.36", features = ["full"] } tokio-util = "0.7" # tests webrtc = "0.10.1" hyper = { version = "0.14.28", features = ["full"] } [[example]] name = "sync_chat" path = "examples/sync_chat.rs" test = false bench = false [[example]] name = "async_chat" path = "examples/async_chat.rs" test = false bench = false