Struct RoomFilter
#[non_exhaustive]pub struct RoomFilter {
pub include_leave: bool,
pub account_data: RoomEventFilter,
pub timeline: RoomEventFilter,
pub ephemeral: RoomEventFilter,
pub state: RoomEventFilter,
pub not_rooms: Vec<OwnedRoomId>,
pub rooms: Option<Vec<OwnedRoomId>>,
}api and (crate features client or server) only.Expand description
Filters to be applied to room data.
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.include_leave: boolInclude rooms that the user has left in the sync.
Defaults to false.
account_data: RoomEventFilterThe per user account data to include for rooms.
timeline: RoomEventFilterThe message and state update events to include for rooms.
ephemeral: RoomEventFilterThe events that aren’t recorded in the room history, e.g. typing and receipts, to include for rooms.
state: RoomEventFilterThe state events to include for rooms.
not_rooms: Vec<OwnedRoomId>A list of room IDs to exclude.
If this list is absent then no rooms are excluded. A matching room will be excluded even if
it is listed in the ‘rooms’ filter. This filter is applied before the filters in
ephemeral, state, timeline or account_data.
rooms: Option<Vec<OwnedRoomId>>A list of room IDs to include.
If this list is absent then all rooms are included. This filter is applied before the
filters in ephemeral, state, timeline or account_data.
Implementations§
§impl RoomFilter
impl RoomFilter
pub fn empty() -> RoomFilter
pub fn empty() -> RoomFilter
Creates an empty RoomFilter.
You can also use the Default implementation.
pub fn ignore_all() -> RoomFilter
pub fn ignore_all() -> RoomFilter
Creates a new RoomFilter that can be used to ignore all room events (of any type).
pub fn with_lazy_loading() -> RoomFilter
pub fn with_lazy_loading() -> RoomFilter
Creates a new RoomFilter with room member lazy-loading enabled.
Redundant membership events are disabled.
Trait Implementations§
§impl CanBeEmpty for RoomFilter
impl CanBeEmpty for RoomFilter
§impl Clone for RoomFilter
impl Clone for RoomFilter
§fn clone(&self) -> RoomFilter
fn clone(&self) -> RoomFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for RoomFilter
impl Debug for RoomFilter
§impl Default for RoomFilter
impl Default for RoomFilter
§fn default() -> RoomFilter
fn default() -> RoomFilter
§impl<'de> Deserialize<'de> for RoomFilter
impl<'de> Deserialize<'de> for RoomFilter
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomFilter, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomFilter, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for RoomFilter
impl Serialize for RoomFilter
§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 RoomFilter
impl RefUnwindSafe for RoomFilter
impl Send for RoomFilter
impl Sync for RoomFilter
impl Unpin for RoomFilter
impl UnsafeUnpin for RoomFilter
impl UnwindSafe for RoomFilter
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> DeserialiseFromJs for Twhere
T: DeserializeOwned,
impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
Source§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,
Source§impl<T> SerialiseToJs for Twhere
T: Serialize,
impl<T> SerialiseToJs for Twhere
T: Serialize,
Source§fn serialise_to_js(&self) -> Result<JsValue, Error>
fn serialise_to_js(&self) -> Result<JsValue, Error>
JsValue, most likely using serde_wasm_bindgen.