ticket_mesh/
ticket_mesh.rs1use std::sync::Arc;
5
6use openrtc::{Client, TicketMesh, TicketMeshOptions};
7
8async fn issue(client: Arc<Client>, share_id: &str) -> anyhow::Result<String> {
9 let mesh = TicketMesh::issue(client, share_id, TicketMeshOptions { max_peers: 8 }).await?;
10 let invite = mesh.invite();
11 let mut peers = mesh.watch_peers();
12 let _connected = peers.borrow_and_update().clone();
13 mesh.close().await;
14 Ok(invite)
15}
16
17async fn join(client: Arc<Client>, invite: &str) -> anyhow::Result<()> {
18 let mesh = TicketMesh::join(client, invite).await?;
19 let mut peers = mesh.watch_peers();
20 let _connected = peers.borrow_and_update().clone();
21 mesh.close().await;
22 Ok(())
23}
24
25fn main() {
26 let _ = (issue, join);
27}