2 unstable releases
0.2.0 | Feb 29, 2024 |
---|---|
0.1.0 | Feb 28, 2024 |
#1347 in Web programming
38 downloads per month
Used in 3 crates
(2 directly)
59KB
1K
SLoC
dachannel
dachannel is a WebRTC DataChannel library for both web (using browser WebRTC) and native (using libdatachannel). It is comprised of:
-
libdatachannel (native) / web-datachannel (web)
Platform-level libraries for DataChannel support.
-
datachannel-facade
A facade over platform libraries to expose an identical API for DataChannels on all platforms.
-
dachannel
A high-level, idiomatic DataChannel library.
graph BT;
web-datachannel --web--> datachannel-facade
libdatachannel-sys --> libdatachannel;
libdatachannel --native--> datachannel-facade;
datachannel-facade --> dachannel;
dachannel --web/native--> dachannel-client;
dachannel --native--> dachannel-server;
Each level of the stack is usable independently. If you want an unopinionated platform-independent wrapper, you can use datachannel-facade
. If you just need a Rust wrapper of libdatachannel, you can use libdatachannel
.
Client/Server
dachannel also supports configuring WebRTC in a client-server topology.
lib.rs
:
datachannel-facade is a library that abstracts over platform-specific WebRTC DataChannel implementations.
It works both in the browser and natively (via libdatachannel).
The following docs are from MDN.
Dependencies
~0.7–3.5MB
~79K SLoC