pub struct Query<Q: QueryCapability> { /* private fields */ }Implementations§
Source§impl<Q: QueryCapability> Query<Q>
impl<Q: QueryCapability> Query<Q>
pub fn new(keys: Q::Keys, query: Q) -> Self
Sourcepub fn enable(self, enabled: bool) -> Self
pub fn enable(self, enabled: bool) -> Self
Enable or disable this query so that it doesnt automatically run.
Defaults to true.
Sourcepub fn keep_old_data(self, keep_old_data: bool) -> Self
pub fn keep_old_data(self, keep_old_data: bool) -> Self
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.
Sourcepub fn stale_time(self, stale_time: Duration) -> Self
pub fn stale_time(self, stale_time: Duration) -> Self
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.
Sourcepub fn clean_time(self, clean_time: Duration) -> Self
pub fn clean_time(self, clean_time: Duration) -> Self
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.
Sourcepub fn interval_time(self, interval_time: Duration) -> Self
pub fn interval_time(self, interval_time: Duration) -> Self
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§
Source§impl<Q: QueryCapability> Hash for Query<Q>
impl<Q: QueryCapability> Hash for Query<Q>
Source§impl<Q: QueryCapability> PartialEq for Query<Q>
impl<Q: QueryCapability> PartialEq for Query<Q>
impl<Q: QueryCapability> Eq for Query<Q>
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§
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> 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