Struct Room
#[non_exhaustive]pub struct Room {Show 15 fields
pub name: Option<String>,
pub avatar: JsOption<OwnedMxcUri>,
pub initial: Option<bool>,
pub is_dm: Option<bool>,
pub invite_state: Option<Vec<Raw<AnyStrippedStateEvent>>>,
pub unread_notifications: UnreadNotificationsCount,
pub timeline: Vec<Raw<AnySyncTimelineEvent>>,
pub required_state: Vec<Raw<AnySyncStateEvent>>,
pub prev_batch: Option<String>,
pub limited: bool,
pub joined_count: Option<UInt>,
pub invited_count: Option<UInt>,
pub num_live: Option<UInt>,
pub bump_stamp: Option<UInt>,
pub heroes: Option<Vec<Hero>>,
}api and (crate features client or server) and crate feature unstable-msc4186 only.Expand description
A sliding sync response updated room (see super::Response::rooms).
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.name: Option<String>The name as calculated by the server.
avatar: JsOption<OwnedMxcUri>The avatar.
initial: Option<bool>Whether it is an initial response.
is_dm: Option<bool>Whether it is a direct room.
invite_state: Option<Vec<Raw<AnyStrippedStateEvent>>>If this is Some(_), this is a not-yet-accepted invite containing
the given stripped state events.
unread_notifications: UnreadNotificationsCountNumber of unread notifications.
timeline: Vec<Raw<AnySyncTimelineEvent>>Message-like events and live state events.
required_state: Vec<Raw<AnySyncStateEvent>>State events as configured by the request.
prev_batch: Option<String>The prev_batch allowing you to paginate through the messages
before the given ones.
limited: boolTrue if the number of events returned was limited by the limit on the filter.
joined_count: Option<UInt>The number of users with membership of join, including the
client’s own user ID.
invited_count: Option<UInt>The number of users with membership of invite.
num_live: Option<UInt>The number of timeline events which have just occurred and are not historical.
bump_stamp: Option<UInt>The bump stamp of the room.
It can be interpreted as a “recency stamp” or “streaming order
index”. For example, consider roomA with bump_stamp = 2, roomB
with bump_stamp = 1 and roomC with bump_stamp = 0. If roomC
receives an update, its bump_stamp will be 3.
heroes: Option<Vec<Hero>>Heroes of the room.
Implementations§
Trait Implementations§
§impl<'de> Deserialize<'de> for Room
impl<'de> Deserialize<'de> for Room
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Room, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Room, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for Room
impl Serialize for Room
§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,
Auto Trait Implementations§
impl Freeze for Room
impl RefUnwindSafe for Room
impl Send for Room
impl Sync for Room
impl Unpin for Room
impl UnsafeUnpin for Room
impl UnwindSafe for Room
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
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 more