pub struct UserInfo {
pub is_talking: Option<bool>,
pub is_featured: Option<bool>,
pub is_camera_on: Option<bool>,
pub is_screen_sharing_on: Option<bool>,
pub is_self_muted: Option<bool>,
pub is_deaf: Option<bool>,
pub is_raising_hand: Option<bool>,
}Expand description
presence and call UI state associated with one room participant
this is participant state visible to other clients it does not include media routing, transport health or source identity
fields are optional so callers can send partial updates
use Self::snapshot_complete when serializing a full room snapshot
Fields§
§is_talking: Option<bool>§is_featured: Option<bool>§is_camera_on: Option<bool>§is_screen_sharing_on: Option<bool>§is_self_muted: Option<bool>§is_deaf: Option<bool>§is_raising_hand: Option<bool>Implementations§
Source§impl UserInfo
impl UserInfo
Sourcepub fn snapshot_complete(self) -> UserInfo
pub fn snapshot_complete(self) -> UserInfo
fill missing presence fields with false for snapshot emission
partial updates keep None to mean “unchanged”
full room snapshots use this so receivers can render without merging
against stale local data
Sourcepub fn apply_partial_update(&mut self, update: &UserInfo)
pub fn apply_partial_update(&mut self, update: &UserInfo)
merge a partial presence update into the current stored value
None means “unchanged”, matching the wire contract for incremental
user-info updates
Sourcepub fn with_featured(self, is_featured: Option<bool>) -> UserInfo
pub fn with_featured(self, is_featured: Option<bool>) -> UserInfo
return this presence payload with the room-layout featured flag applied
Trait Implementations§
Source§impl<'de> Deserialize<'de> for UserInfo
impl<'de> Deserialize<'de> for UserInfo
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<UserInfo, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<UserInfo, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for UserInfo
impl Serialize for UserInfo
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for UserInfo
impl StructuralPartialEq for UserInfo
Auto Trait Implementations§
impl Freeze for UserInfo
impl RefUnwindSafe for UserInfo
impl Send for UserInfo
impl Sync for UserInfo
impl Unpin for UserInfo
impl UnsafeUnpin for UserInfo
impl UnwindSafe for UserInfo
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