pub struct Builder { /* private fields */ }Expand description
A builder for a cache.
Implementations§
Source§impl Builder
impl Builder
Sourcepub fn directory(self, directory: impl Into<PathBuf>) -> Self
pub fn directory(self, directory: impl Into<PathBuf>) -> Self
Set the cache directory.
Defaults to {alfred_workflow_cache}/cache
These should be set by Alfred, but if not:
{alfred_workflow_cache}defaults to~/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/{alfred_workflow_bundleid}{alfred_workflow_bundleid}defaults topowerpack
See powerpack_env::workflow_cache_or_default for more information.
Sourcepub fn policy(self, query_policy: impl Into<FlagSet<QueryPolicy>>) -> Self
pub fn policy(self, query_policy: impl Into<FlagSet<QueryPolicy>>) -> Self
Set the query policy for the cache.
This is used to determine things like when updates should occur and stale data is allowed to be returned.
Sourcepub fn ttl(self, ttl: Duration) -> Self
pub fn ttl(self, ttl: Duration) -> Self
Set the default Time To Live (TTL) for the data in the cache.
This is used if the query does not specify a TTL.
If the data in the cache is older than this then the cache will be automatically refreshed. Stale data will be returned in the meantime.
Defaults to 60 seconds.
Sourcepub fn initial_poll(self, initial_poll: Duration) -> Self
pub fn initial_poll(self, initial_poll: Duration) -> Self
Set the initial poll duration.
This is used if the query does not specify an initial poll duration.
This is the duration to wait for the cache to be populated on the first call. If the cache is not populated within this duration, a miss error will be raised.
Defaults to not polling at all. This means the initial call to
.query() will return immediately with
Err(QueryError::Miss).
Sourcepub fn try_build(self) -> Result<Cache, BuildError>
pub fn try_build(self) -> Result<Cache, BuildError>
Try build the cache.
This can fail if the user’s home directory cannot be determined.