pub struct SupervisorOptions {
    pub strategy: SupervisorStrategy,
    pub max_restarts: usize,
    pub max_seconds: usize,
    pub restart_counter_reset_after: Option<u64>,
}Expand description
Supervisor-level meltdown policy.
- If more than max_restartsoccur withinmax_seconds, meltdown occurs (supervisor stops abnormally).
- If restart_counter_reset_afteris set, we clear the meltdown log if no restarts occur in that span.
§Timing
- max_seconds: Meltdown tracking window duration in seconds
- restart_counter_reset_after: Supervisor-level reset duration in seconds
Fields§
§strategy: SupervisorStrategyOne of OneForOne, OneForAll, or RestForOne
max_restarts: usizeThe meltdown threshold for restarts.
max_seconds: usizeThe meltdown time window in seconds.
restart_counter_reset_after: Option<u64>Optional: if no restarts for this many seconds, we clear meltdown log.
Trait Implementations§
Source§impl Clone for SupervisorOptions
 
impl Clone for SupervisorOptions
Source§fn clone(&self) -> SupervisorOptions
 
fn clone(&self) -> SupervisorOptions
Returns a copy 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_seconds(&self) -> usize
fn restart_counter_reset_after(&self) -> Option<u64>
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