#[non_exhaustive]pub enum RestartStrategy {
OneForOne,
OneForAll,
RestForOne,
Permanent,
Transient,
}Expand description
Supervisor restart strategy (Erlang-inspired).
Determines what happens to sibling agents when one agent fails. Configured per AppManifest or per supervisor instance.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
OneForOne
Restart only the failed child.
OneForAll
Restart all children if one fails.
RestForOne
Restart the failed child and all children started after it.
Permanent
Do not restart – let the agent stay dead.
Transient
Restart only if the agent exited abnormally (non-zero exit code).
Trait Implementations§
Source§impl Clone for RestartStrategy
impl Clone for RestartStrategy
Source§impl Debug for RestartStrategy
impl Debug for RestartStrategy
Source§impl Default for RestartStrategy
impl Default for RestartStrategy
Source§impl<'de> Deserialize<'de> for RestartStrategy
impl<'de> Deserialize<'de> for RestartStrategy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for RestartStrategy
Source§impl PartialEq for RestartStrategy
impl PartialEq for RestartStrategy
Source§impl Serialize for RestartStrategy
impl Serialize for RestartStrategy
impl StructuralPartialEq for RestartStrategy
Auto Trait Implementations§
impl Freeze for RestartStrategy
impl RefUnwindSafe for RestartStrategy
impl Send for RestartStrategy
impl Sync for RestartStrategy
impl Unpin for RestartStrategy
impl UnsafeUnpin for RestartStrategy
impl UnwindSafe for RestartStrategy
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more