18个不稳定版本 (3个破坏性更新)
0.4.0 | 2024年6月26日 |
---|---|
0.3.0 | 2024年5月24日 |
0.2.9 | 2024年5月11日 |
0.2.7 | 2024年4月25日 |
0.1.4 | 2024年1月28日 |
#1259 在 异步
每月116次下载
用于 jarust_plugins
76KB
2K SLoC
Jarust
Jarust的核心
它处理
- 连接
- 会话
- 处理
- 发送消息
- 接收事件
- 解复用
插件
查看现有插件: jarust_plugins
示例用法
use jarust::jaconfig::JaConfig;
use jarust::jaconfig::TransportType;
use jarust::japlugin::Attach;
use serde_json::json;
use tracing_subscriber::EnvFilter;
#[tokio::main(flavor = "current_thread")]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_env_filter(EnvFilter::from_default_env().add_directive("jarust=trace".parse()?))
.init();
let mut connection = jarust::connect(
JaConfig::new("ws://127.0.0.1:8188/ws", None, "janus"),
TransportType::Ws,
)
.await?;
let session = connection.create(10).await?;
let (handle, mut event_receiver) = session.attach("janus.plugin.echotest").await?;
handle
.message(json!({
"video": true,
"audio": true,
}))
.await?;
while let Some(event) = event_receiver.recv().await {
tracing::info!("response: {event:#?}");
}
Ok(())
}
依赖项
~4.5–7.5MB
~125K SLoC