Struct RoomEventFilter
#[non_exhaustive]pub struct RoomEventFilter {
pub not_types: Vec<String>,
pub not_rooms: Vec<OwnedRoomId>,
pub limit: Option<UInt>,
pub rooms: Option<Vec<OwnedRoomId>>,
pub not_senders: Vec<OwnedUserId>,
pub senders: Option<Vec<OwnedUserId>>,
pub types: Option<Vec<String>>,
pub url_filter: Option<UrlFilter>,
pub lazy_load_options: LazyLoadOptions,
pub unread_thread_notifications: bool,
}api and (crate features client or server) only.Expand description
Filters to be applied to room events.
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.not_types: Vec<String>A list of event types to exclude.
If this list is absent then no event types are excluded. A matching type will be excluded even if it is listed in the ‘types’ filter. A ‘*’ can be used as a wildcard to match any sequence of characters.
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.
limit: Option<UInt>The maximum number of events to return.
rooms: Option<Vec<OwnedRoomId>>A list of room IDs to include.
If this list is absent then all rooms are included.
not_senders: Vec<OwnedUserId>A list of sender IDs to exclude.
If this list is absent then no senders are excluded. A matching sender will be excluded even if it is listed in the ‘senders’ filter.
senders: Option<Vec<OwnedUserId>>A list of senders IDs to include.
If this list is absent then all senders are included.
types: Option<Vec<String>>A list of event types to include.
If this list is absent then all event types are included. A ‘*’ can be used as a wildcard to match any sequence of characters.
url_filter: Option<UrlFilter>Controls whether to include events with a URL key in their content.
None: No filteringSome(EventsWithUrl): Only events with a URLSome(EventsWithoutUrl): Only events without a URL
lazy_load_options: LazyLoadOptionsOptions to control lazy-loading of membership events.
Defaults to LazyLoadOptions::Disabled.
unread_thread_notifications: boolWhether to enable per-thread notification counts.
Only applies to the sync_events endpoint.
Implementations§
§impl RoomEventFilter
impl RoomEventFilter
pub fn empty() -> RoomEventFilter
pub fn empty() -> RoomEventFilter
Creates an empty RoomEventFilter.
You can also use the Default implementation.
pub fn ignore_all() -> RoomEventFilter
pub fn ignore_all() -> RoomEventFilter
Creates a new RoomEventFilter that can be used to ignore all room events.
pub fn with_lazy_loading() -> RoomEventFilter
pub fn with_lazy_loading() -> RoomEventFilter
Creates a new RoomEventFilter with room member lazy-loading enabled.
Redundant membership events are disabled.
Trait Implementations§
§impl CanBeEmpty for RoomEventFilter
impl CanBeEmpty for RoomEventFilter
§impl Clone for RoomEventFilter
impl Clone for RoomEventFilter
§fn clone(&self) -> RoomEventFilter
fn clone(&self) -> RoomEventFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for RoomEventFilter
impl Debug for RoomEventFilter
§impl Default for RoomEventFilter
impl Default for RoomEventFilter
§fn default() -> RoomEventFilter
fn default() -> RoomEventFilter
§impl<'de> Deserialize<'de> for RoomEventFilter
impl<'de> Deserialize<'de> for RoomEventFilter
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomEventFilter, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RoomEventFilter, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for RoomEventFilter
impl Serialize for RoomEventFilter
§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 RoomEventFilter
impl RefUnwindSafe for RoomEventFilter
impl Send for RoomEventFilter
impl Sync for RoomEventFilter
impl Unpin for RoomEventFilter
impl UnsafeUnpin for RoomEventFilter
impl UnwindSafe for RoomEventFilter
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.