pub struct SourcePublishIntent {
stream_id: UserStreamId,
media_kind: MediaKind,
policy: SourcePolicy,
presence: Option<UserInfo>,
}Expand description
Publish intent for one user stream.
Application code passes this into core when a user starts publishing. It carries stream identity, media kind, room policy and optional publication presence. Core captures these values when the staged publish commits.
Compatibility concepts such as “camera” or “screen” must be translated into this type before entering core. If a product stream needs different layout or bandwidth behavior, change the application catalog that builds this intent instead of adding stream-specific branches to room state.
Fields§
§stream_id: UserStreamId§media_kind: MediaKind§policy: SourcePolicy§presence: Option<UserInfo>Implementations§
Source§impl SourcePublishIntent
impl SourcePublishIntent
pub fn new( stream_id: UserStreamId, media_kind: MediaKind, policy: SourcePolicy, ) -> SourcePublishIntent
pub fn with_presence(self, presence: Option<UserInfo>) -> SourcePublishIntent
pub const fn stream_id(&self) -> &UserStreamId
pub const fn media_kind(&self) -> MediaKind
pub const fn policy(&self) -> SourcePolicy
pub const fn presence(&self) -> Option<&UserInfo>
Trait Implementations§
Source§impl Clone for SourcePublishIntent
impl Clone for SourcePublishIntent
Source§fn clone(&self) -> SourcePublishIntent
fn clone(&self) -> SourcePublishIntent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SourcePublishIntent
impl Debug for SourcePublishIntent
Source§impl PartialEq for SourcePublishIntent
impl PartialEq for SourcePublishIntent
impl Eq for SourcePublishIntent
impl StructuralPartialEq for SourcePublishIntent
Auto Trait Implementations§
impl Freeze for SourcePublishIntent
impl RefUnwindSafe for SourcePublishIntent
impl Send for SourcePublishIntent
impl Sync for SourcePublishIntent
impl Unpin for SourcePublishIntent
impl UnsafeUnpin for SourcePublishIntent
impl UnwindSafe for SourcePublishIntent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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