pub enum EmbedRetry {
Backoff {
first: Duration,
max: Duration,
},
Fixed(Duration),
Manual,
}Expand description
When a database that suspended its own embedder calls it again.
Only EmbedErrorPolicy::Degrade ever suspends by itself, so this is inert
under the default policy. An explicit EmbedderGate::suspend is
never retried by any of these — a decision is not an observation, and it is
undone by EmbedderGate::resume alone.
Variants§
Backoff
Wait first, then double per consecutive failure up to max; the
first success starts over at first.
The default, because the two failures worth optimising for pull in opposite directions. A provider that blinked (a restart, a reloaded model) is back within a second, and a fixed long interval would keep storing vectorless facts long after it recovered. A provider that is genuinely gone should stop being asked. Doubling serves both without being told which one is happening.
Fixed(Duration)
The same interval after every failure.
Manual
Never. The host decides when to call EmbedderGate::resume.
Trait Implementations§
Source§impl Clone for EmbedRetry
impl Clone for EmbedRetry
Source§fn clone(&self) -> EmbedRetry
fn clone(&self) -> EmbedRetry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for EmbedRetry
Source§impl Debug for EmbedRetry
impl Debug for EmbedRetry
Source§impl Default for EmbedRetry
impl Default for EmbedRetry
impl Eq for EmbedRetry
Source§impl PartialEq for EmbedRetry
impl PartialEq for EmbedRetry
impl StructuralPartialEq for EmbedRetry
Auto Trait Implementations§
impl Freeze for EmbedRetry
impl RefUnwindSafe for EmbedRetry
impl Send for EmbedRetry
impl Sync for EmbedRetry
impl Unpin for EmbedRetry
impl UnsafeUnpin for EmbedRetry
impl UnwindSafe for EmbedRetry
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.