room_session wip

This commit is contained in:
Théo Monnom
2022-12-24 00:23:05 +01:00
parent 0c9c186b33
commit d1e0f39d59
5 changed files with 359 additions and 341 deletions
+3 -1
View File
@@ -352,7 +352,9 @@ impl EngineInner {
let res = inner.reconnect_task().await;
inner.reconnecting.store(false, Ordering::SeqCst);
if res.is_err() {
if res.is_ok() {
warn!("RTCEngine successfully reconnected")
} else {
error!("failed to reconnect after {} attemps", RECONNECT_ATTEMPTS);
inner.close().await;
}
@@ -200,9 +200,7 @@ impl RTCSession {
join_response,
};
// Start tasks
let (close_emitter, close_receiver) = watch::channel(false);
let inner = Arc::new(SessionInner {
info: session_info,
pc_state: AtomicU8::new(PCState::New as u8),
@@ -224,6 +222,10 @@ impl RTCSession {
);
let rtc_task = tokio::spawn(inner.clone().rtc_task(rtc_events, close_receiver.clone()));
if !inner.info.join_response.subscriber_primary {
inner.negotiate_publisher().await?;
}
let session = Self {
lk_runtime,
inner: inner.clone(),
@@ -232,10 +234,6 @@ impl RTCSession {
rtc_task,
};
if !inner.info.join_response.subscriber_primary {
inner.negotiate_publisher().await?;
}
Ok(session)
}