pub enum CacheKeepWarm {
Off,
Auto,
Hours(u32),
}Expand description
Prompt-cache keep-warm policy (cache_keepwarm, task #444). See
docs/specs/cache-ttl-spec.md §7.
Off(default): never ping.Auto: ping while the measured ping spend of the current idle period stays below the cost of the cache rewrite it prevents (ski-rental rule: at most 2× the optimal spend, at most ~one rewrite on an abandoned session), and for at mostcache_keepwarm_auto_max_hours(defaultDEFAULT_CACHE_KEEPWARM_AUTO_MAX_HOURS) after the session went idle.Hours(n): the same bound, and additionally stopnhours after the session went idle — whichever comes first.
Variants§
Implementations§
Source§impl CacheKeepWarm
impl CacheKeepWarm
Sourcepub fn parse(val: &str) -> Option<CacheKeepWarm>
pub fn parse(val: &str) -> Option<CacheKeepWarm>
Parse off | auto | <N>h (case-insensitive; 0h = off).
None for anything else, including hours above
MAX_CACHE_KEEPWARM_HOURS.
pub fn is_off(self) -> bool
Trait Implementations§
Source§impl Clone for CacheKeepWarm
impl Clone for CacheKeepWarm
Source§fn clone(&self) -> CacheKeepWarm
fn clone(&self) -> CacheKeepWarm
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CacheKeepWarm
Source§impl Debug for CacheKeepWarm
impl Debug for CacheKeepWarm
Source§impl Default for CacheKeepWarm
impl Default for CacheKeepWarm
Source§fn default() -> CacheKeepWarm
fn default() -> CacheKeepWarm
Returns the “default value” for a type. Read more
Source§impl Display for CacheKeepWarm
impl Display for CacheKeepWarm
impl Eq for CacheKeepWarm
Source§impl PartialEq for CacheKeepWarm
impl PartialEq for CacheKeepWarm
impl StructuralPartialEq for CacheKeepWarm
Auto Trait Implementations§
impl Freeze for CacheKeepWarm
impl RefUnwindSafe for CacheKeepWarm
impl Send for CacheKeepWarm
impl Sync for CacheKeepWarm
impl Unpin for CacheKeepWarm
impl UnsafeUnpin for CacheKeepWarm
impl UnwindSafe for CacheKeepWarm
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Convert
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> 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)
Convert
&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)
Convert
&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> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'a, T> Prefix<&'a [T], T> for T
impl<'a, T> Prefix<&'a [T], T> for T
Source§fn take_prefix(&self, haystack: &'a [T]) -> Option<(T, &'a [T])>
fn take_prefix(&self, haystack: &'a [T]) -> Option<(T, &'a [T])>
Remove the prefix described by this prefix from the haystack if present, and if so,
return it along with the rest of the haystack.
Source§fn skip_prefix(&self, haystack: Parent) -> Option<Parent>
fn skip_prefix(&self, haystack: Parent) -> Option<Parent>
Remove the prefix described by this prefix from the haystack if present, and return
the rest of the haystack (result is ignored).
impl<T> ThreadSafetyMarker for Twhere
T: Send,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more