Struct Query
pub struct Query<Q>where
Q: QueryCapability,{ /* private fields */ }query only.Implementations§
§impl<Q> Query<Q>where
Q: QueryCapability,
impl<Q> Query<Q>where
Q: QueryCapability,
pub fn new(keys: <Q as QueryCapability>::Keys, query: Q) -> Query<Q>
pub fn enable(self, enabled: bool) -> Query<Q>
pub fn enable(self, enabled: bool) -> Query<Q>
Enable or disable this query so that it doesnt automatically run.
Defaults to true.
pub fn keep_old_data(self, keep_old_data: bool) -> Query<Q>
pub fn keep_old_data(self, keep_old_data: bool) -> Query<Q>
Keep displaying the previously fetched data when the keys change, while the new data loads.
When the keys of a mounted query change a fresh cache entry is created that would normally start empty. With this enabled the new entry is seeded with the last successful data, so subscribers keep showing it until the new keys settle.
Defaults to false.
pub fn stale_time(self, stale_time: Duration) -> Query<Q>
pub fn stale_time(self, stale_time: Duration) -> Query<Q>
For how long is the data considered stale. If a query subscriber is mounted and the data is stale, it will re run the query otherwise it return the cached data.
Defaults to Duration::ZERO, meaning it is marked stale immediately after it has been used.
pub fn clean_time(self, clean_time: Duration) -> Query<Q>
pub fn clean_time(self, clean_time: Duration) -> Query<Q>
For how long the data is kept cached after there are no more query subscribers.
Defaults to 5min, meaning it clears automatically after 5 minutes of no subscribers to it.
pub fn interval_time(self, interval_time: Duration) -> Query<Q>
pub fn interval_time(self, interval_time: Duration) -> Query<Q>
Every how often the query reruns.
Defaults to Duration::MAX, meaning it never re runs automatically.
Note: If multiple subscribers of the same query use different intervals, only the shortest one will be used.
Trait Implementations§
§impl<Q> From<GetQuery<Q>> for Query<Q>where
Q: QueryCapability,
impl<Q> From<GetQuery<Q>> for Query<Q>where
Q: QueryCapability,
§impl<Q> Hash for Query<Q>where
Q: QueryCapability,
impl<Q> Hash for Query<Q>where
Q: QueryCapability,
§impl<Q> PartialEq for Query<Q>where
Q: QueryCapability,
impl<Q> PartialEq for Query<Q>where
Q: QueryCapability,
impl<Q> Eq for Query<Q>where
Q: QueryCapability,
Auto Trait Implementations§
impl<Q> Freeze for Query<Q>
impl<Q> RefUnwindSafe for Query<Q>
impl<Q> Send for Query<Q>
impl<Q> Sync for Query<Q>
impl<Q> Unpin for Query<Q>
impl<Q> UnsafeUnpin for Query<Q>
impl<Q> UnwindSafe for Query<Q>
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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> ComponentProps for T
impl<T> ComponentProps for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§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>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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