None
RU
Заметки о том, как я писал SFU на Rust (2 часть)
[]
Все публикации подряд на Хабре
Большое спасибо всем, кто прочитал первую часть, в этой части мы продолжим разбираться с webrtc и реализуем действительно полезные возможности SFU.
#[tokio::test(flavor = "multi_thread")] async fn connect_one_user_to_room() -> Result<(), Error> { tracing_subscriber::fmt::fmt() .with_env_filter("webrtc=ERROR,webrtc_ice=ERROR") .init(); let server: sfu::actor::Addr<Server<_>> = Server::default().start(); let (tx, rx) = tokio::sync::oneshot::channel(); let _ = server.send(ServerMessage::CreateRoom { name: "".to_string(), response_channel: tx }).await; let (_, room) = rx.await?
; let peer_id = user.peer_id; let user = user.start(); user.add_stream(tokio_stream::wrappers::ReceiverStream::new(stream)); let _ = room.send(RoomMessage::Join { peer_id, addr: user }).await; let barrier = barrier.clone(); let task = tokio::spawn(async move { client.setup().await?
Мониторинг сетиМониторинг понадобится нам как для аналитики того, как работает наше приложение, так и для симулькаста, но о нем позже.
На беке нам нужно получить сообщение о необходимости рестарта и в послать обратно ответ.