Skip to main content

PatientGuard

Struct PatientGuard 

Source
pub struct PatientGuard { /* private fields */ }
Expand description

RAII guard returned by ToolCtx::patient.

While held, the kernel’s script-level timeout watchdog is suspended for this execution: the script clock freezes and the guard’s own budget governs instead. Dropping the guard resumes the script clock with the remaining time it had at acquire.

The inner box is the kernel’s hold object; its Drop does the restore. An inert guard (no watchdog running — e.g. the kernel has no script timeout, or a non-kernel test context) holds nothing and drops as a no-op.

Implementations§

Source§

impl PatientGuard

Source

pub fn inert() -> Self

A guard that does nothing — for contexts without a watchdog.

Source

pub fn held(hold: Box<dyn Any + Send>) -> Self

Wrap a kernel hold object whose Drop restores the watchdog.

Source

pub fn is_active(&self) -> bool

Whether this guard actually suspended a watchdog.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.