8 个不稳定版本 (3 个重大更改)
0.4.0 | 2022年11月29日 |
---|---|
0.3.0 | 2022年3月9日 |
0.2.2 | 2021年9月22日 |
0.1.2 | 2021年9月15日 |
在 并发 中排名第 438
每月下载量:186
用于 libp2p-webrtc
16KB
269 行
async-datachannel
对 datachannel
crate 的异步包装器。完整示例请查看 examples 目录。
请注意,此 crate 目前仅与 tokio 运行时兼容。如果您有兴趣支持其他运行时,请告诉我。
快速入门
use async_datachannel::{Message, PeerConnection, PeerId, RtcConfig};
use futures::io::{AsyncReadExt, AsyncWriteExt, channel::mpsc};
let ice_servers = vec!["stun:stun.l.google.com:19302"];
let conf = RtcConfig::new(&ice_servers);
let (tx_sig_outbound, mut rx_sig_outbound) = mpsc::channel(32);
let (tx_sig_inbound, rx_sig_inbound) = mpsc::channel(32);
let listener = PeerConnection::new(&conf, (tx_sig_outbound, rx_sig_inbound))?;
// TODO: Wire up `tx_sig_inbound` and `rx_sig_outbound` to a signalling
// mechanism.
let mut dc = listener.dial("Hangout").await?;
dc.write(b"Hello").await?;
let mut buf = vec![0; 32];
let n = dc.read(&mut buf).await?;
assert_eq!(b"World", &buf[..n]);
许可证
许可协议为以下之一
- Apache 许可协议第 2 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在作品中的贡献都将根据上述协议进行双重许可,不附加任何额外条款或条件。
依赖关系
~11–22MB
~366K SLoC