enum SessionPhase {
BeforeInitialOffer,
Stable,
WaitingForAnswer(InFlightOffer),
}Expand description
media-session negotiation phase
queued publishes live beside the offer state so a user action that arrives while a browser answer is pending cannot interleave with the in-flight SDP exchange
Variants§
BeforeInitialOffer
no initial offer has been created yet
Stable
no offer is awaiting an answer
WaitingForAnswer(InFlightOffer)
one offer has been sent and must be answered before the next offer
Implementations§
Source§impl SessionPhase
impl SessionPhase
fn can_stage_publish(&self) -> bool
fn has_queued_publish(&self, stream_id: &UserStreamId) -> bool
fn queue_publish(&mut self, intent: SourcePublishIntent)
fn remove_queued_publish(&mut self, stream_id: &UserStreamId) -> bool
fn clear_queued_publishes(&mut self)
fn request_renegotiation(&mut self) -> bool
fn mark_follow_up_renegotiation(&mut self)
fn wait_for_answer(&mut self, purpose: SessionOfferPurpose)
fn complete_answer(&mut self) -> InFlightOffer
Trait Implementations§
Source§impl Debug for SessionPhase
impl Debug for SessionPhase
Source§impl Default for SessionPhase
impl Default for SessionPhase
Source§fn default() -> SessionPhase
fn default() -> SessionPhase
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SessionPhase
impl RefUnwindSafe for SessionPhase
impl Send for SessionPhase
impl Sync for SessionPhase
impl Unpin for SessionPhase
impl UnsafeUnpin for SessionPhase
impl UnwindSafe for SessionPhase
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more