pub struct ServerInfo {
pub versions: Vec<String>,
pub unstable_features: BTreeMap<String, bool>,
pub well_known: Option<WellKnownResponse>,
/* private fields */
}
Expand description
Useful server info such as data returned by the /client/versions and .well-known/client/matrix endpoints.
Fields§
§versions: Vec<String>
Versions supported by the remote server.
unstable_features: BTreeMap<String, bool>
List of unstable features and their enablement status.
well_known: Option<WellKnownResponse>
Information about the server found in the client well-known file.
Implementations§
Source§impl ServerInfo
impl ServerInfo
Sourcepub const STALE_THRESHOLD: f64 = 6.048E+8f64
pub const STALE_THRESHOLD: f64 = 6.048E+8f64
The number of milliseconds after which the data is considered stale.
Sourcepub fn new(
versions: Vec<String>,
unstable_features: BTreeMap<String, bool>,
well_known: Option<WellKnownResponse>,
) -> ServerInfo
pub fn new( versions: Vec<String>, unstable_features: BTreeMap<String, bool>, well_known: Option<WellKnownResponse>, ) -> ServerInfo
Encode server info into this serializable struct.
Sourcepub fn maybe_decode(&self) -> Option<ServerInfo>
pub fn maybe_decode(&self) -> Option<ServerInfo>
Decode server info from this serializable struct.
May return None
if the data is considered stale, after
Self::STALE_THRESHOLD
milliseconds since the last time we stored
it.
Sourcepub fn supported_versions(&self) -> SupportedVersions
pub fn supported_versions(&self) -> SupportedVersions
Extracts known Matrix versions and features from the un-typed lists of strings.
Note: Matrix versions that Ruma cannot parse, or does not know about, are discarded.
Trait Implementations§
Source§impl Clone for ServerInfo
impl Clone for ServerInfo
Source§fn clone(&self) -> ServerInfo
fn clone(&self) -> ServerInfo
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 ServerInfo
impl Debug for ServerInfo
Source§impl<'de> Deserialize<'de> for ServerInfo
impl<'de> Deserialize<'de> for ServerInfo
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ServerInfo, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ServerInfo, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ServerInfo
impl PartialEq for ServerInfo
Source§impl Serialize for ServerInfo
impl Serialize for ServerInfo
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 StructuralPartialEq for ServerInfo
Auto Trait Implementations§
impl Freeze for ServerInfo
impl RefUnwindSafe for ServerInfo
impl Send for ServerInfo
impl Sync for ServerInfo
impl Unpin for ServerInfo
impl UnwindSafe for ServerInfo
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<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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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