pub struct CallMemberStateKey { /* private fields */ }Expand description
A type that can be used as the state_key for call member state events.
Those state keys can be a combination of UserId and DeviceId.
Implementations§
Source§impl CallMemberStateKey
impl CallMemberStateKey
Sourcepub fn new(
user_id: OwnedUserId,
member_id: Option<String>,
underscore: bool,
) -> CallMemberStateKey
pub fn new( user_id: OwnedUserId, member_id: Option<String>, underscore: bool, ) -> CallMemberStateKey
Constructs a new CallMemberStateKey there are three possible formats:
_{UserId}_{MemberId}example:_@test:user.org_DEVICE_m.call.member_id: Some(DEVICE_m.call),underscore: true{UserId}_{MemberId}example:@test:user.org_DEVICE_m.call.member_id: Some(DEVICE_m.call),underscore: false{UserId}example:@test:user.org.member_id: None, underscore is ignored:underscore: false|true
The MemberId is a combination of the UserId and the session information (session.application and session.id). The session information is an opaque string that should not be parsed after creation.
Sourcepub fn user_id(&self) -> &UserId
pub fn user_id(&self) -> &UserId
Returns the user id in this state key. (This is a cheap operations. The id is already type checked on initialization. And does only returns a reference to an existing OwnedUserId.)
It is recommended to not use the state key to get the user id, but rather use the sender
field.
Trait Implementations§
Source§impl AsRef<str> for CallMemberStateKey
impl AsRef<str> for CallMemberStateKey
Source§impl Clone for CallMemberStateKey
impl Clone for CallMemberStateKey
Source§fn clone(&self) -> CallMemberStateKey
fn clone(&self) -> CallMemberStateKey
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 CallMemberStateKey
impl Debug for CallMemberStateKey
Source§impl<'de> Deserialize<'de> for CallMemberStateKey
impl<'de> Deserialize<'de> for CallMemberStateKey
Source§fn deserialize<D>(
deserializer: D,
) -> Result<CallMemberStateKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<CallMemberStateKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<CallMemberStateKeyEnum> for CallMemberStateKey
impl From<CallMemberStateKeyEnum> for CallMemberStateKey
Source§fn from(value: CallMemberStateKeyEnum) -> CallMemberStateKey
fn from(value: CallMemberStateKeyEnum) -> CallMemberStateKey
Converts to this type from the input type.
Source§impl FromStr for CallMemberStateKey
impl FromStr for CallMemberStateKey
Source§type Err = KeyParseError
type Err = KeyParseError
The associated error which can be returned from parsing.
Source§fn from_str(
state_key: &str,
) -> Result<CallMemberStateKey, <CallMemberStateKey as FromStr>::Err>
fn from_str( state_key: &str, ) -> Result<CallMemberStateKey, <CallMemberStateKey as FromStr>::Err>
Parses a string
s to return a value of this type. Read moreSource§impl Ord for CallMemberStateKey
impl Ord for CallMemberStateKey
Source§fn cmp(&self, other: &CallMemberStateKey) -> Ordering
fn cmp(&self, other: &CallMemberStateKey) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for CallMemberStateKey
impl PartialEq for CallMemberStateKey
Source§impl PartialOrd for CallMemberStateKey
impl PartialOrd for CallMemberStateKey
Source§impl Serialize for CallMemberStateKey
impl Serialize for CallMemberStateKey
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 CallMemberStateKey
impl StructuralPartialEq for CallMemberStateKey
Auto Trait Implementations§
impl Freeze for CallMemberStateKey
impl RefUnwindSafe for CallMemberStateKey
impl Send for CallMemberStateKey
impl Sync for CallMemberStateKey
impl Unpin for CallMemberStateKey
impl UnwindSafe for CallMemberStateKey
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
§fn deserialise_from_js(js: JsValue) -> Result<T, Error>
fn deserialise_from_js(js: JsValue) -> Result<T, Error>
Deserialise a value from JS, most likely using
serde_wasm_bindgen.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> SerialiseToJs for Twhere
T: Serialize,
impl<T> SerialiseToJs for Twhere
T: Serialize,
§fn serialise_to_js(&self) -> Result<JsValue, Error>
fn serialise_to_js(&self) -> Result<JsValue, Error>
Convert the type to a
JsValue, most likely using serde_wasm_bindgen.