Struct SasV1Content
#[non_exhaustive]pub struct SasV1Content {
pub key_agreement_protocols: Vec<KeyAgreementProtocol>,
pub hashes: Vec<HashAlgorithm>,
pub message_authentication_codes: Vec<MessageAuthenticationCode>,
pub short_authentication_string: Vec<ShortAuthenticationString>,
}Expand description
The payload of an m.key.verification.start event using the m.sas.v1 method.
To create an instance of this type, first create a SasV1ContentInit and convert it via
SasV1Content::from / .into().
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.key_agreement_protocols: Vec<KeyAgreementProtocol>The key agreement protocols the sending device understands.
Must include at least Curve25519 or Curve25519HkdfSha256.
hashes: Vec<HashAlgorithm>The hash methods the sending device understands.
Must include at least sha256.
message_authentication_codes: Vec<MessageAuthenticationCode>The message authentication codes that the sending device understands.
Must include at least hkdf-hmac-sha256.v2. Should also include hkdf-hmac-sha256 for
compatibility with older clients, though this MAC is deprecated and will be removed in a
future version of the spec.
short_authentication_string: Vec<ShortAuthenticationString>The SAS methods the sending device (and the sending device’s user) understands.
Must include at least decimal. Optionally can include emoji.
Trait Implementations§
§impl Clone for SasV1Content
impl Clone for SasV1Content
§fn clone(&self) -> SasV1Content
fn clone(&self) -> SasV1Content
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for SasV1Content
impl Debug for SasV1Content
§impl<'de> Deserialize<'de> for SasV1Content
impl<'de> Deserialize<'de> for SasV1Content
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SasV1Content, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SasV1Content, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl From<SasV1ContentInit> for SasV1Content
impl From<SasV1ContentInit> for SasV1Content
§fn from(init: SasV1ContentInit) -> SasV1Content
fn from(init: SasV1ContentInit) -> SasV1Content
Creates a new SasV1Content from the given init struct.
§impl Serialize for SasV1Content
impl Serialize for SasV1Content
§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,
Source§impl TryFrom<&SasV1Content> for AcceptedProtocols
impl TryFrom<&SasV1Content> for AcceptedProtocols
Source§type Error = CancelCode
type Error = CancelCode
Source§fn try_from(
method_content: &SasV1Content,
) -> Result<AcceptedProtocols, <AcceptedProtocols as TryFrom<&SasV1Content>>::Error>
fn try_from( method_content: &SasV1Content, ) -> Result<AcceptedProtocols, <AcceptedProtocols as TryFrom<&SasV1Content>>::Error>
Auto Trait Implementations§
impl Freeze for SasV1Content
impl RefUnwindSafe for SasV1Content
impl Send for SasV1Content
impl Sync for SasV1Content
impl Unpin for SasV1Content
impl UnwindSafe for SasV1Content
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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>
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>
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)
&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)
&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<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>
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>
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>
JsValue, most likely using serde_wasm_bindgen.