pub struct SupervisorOptions {
pub strategy: SupervisorStrategy,
pub max_restarts: usize,
pub max_window: Duration,
pub reset_after: Option<Duration>,
}Expand description
Supervisor-level meltdown policy.
- If more than
max_restartsoccur withinmax_window, meltdown occurs (supervisor stops abnormally). - If
reset_afteris set, we clear the meltdown log if no restarts occur in that span.
§Timing
max_window: Meltdown tracking window durationreset_after: Supervisor-level reset duration
Fields§
§strategy: SupervisorStrategyOne of OneForOne, OneForAll, or RestForOne
max_restarts: usizeThe meltdown threshold for restarts.
max_window: DurationThe meltdown time window.
reset_after: Option<Duration>Optional: if no restarts occur for this duration, we clear the meltdown log.
Trait Implementations§
Source§impl Clone for SupervisorOptions
impl Clone for SupervisorOptions
Source§fn clone(&self) -> SupervisorOptions
fn clone(&self) -> SupervisorOptions
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl CoreSupervisorOptions<SupervisorStrategy> for SupervisorOptions
impl CoreSupervisorOptions<SupervisorStrategy> for SupervisorOptions
fn max_restarts(&self) -> usize
fn max_window(&self) -> Duration
fn reset_after(&self) -> Option<Duration>
fn strategy(&self) -> SupervisorStrategy
Auto Trait Implementations§
impl Freeze for SupervisorOptions
impl RefUnwindSafe for SupervisorOptions
impl Send for SupervisorOptions
impl Sync for SupervisorOptions
impl Unpin for SupervisorOptions
impl UnwindSafe for SupervisorOptions
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> 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> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage