Skip to main content

RuntimeStatusHandle

Struct RuntimeStatusHandle 

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

Cloneable handle used by apps and background tasks to report health and readiness.

Implementations§

Source§

impl RuntimeStatusHandle

Source

pub fn report_health(&self, state: HealthState)

Report a new health state.

Source

pub fn report_readiness(&self, state: ReadinessState)

Report a new readiness state.

Examples found in repository?
examples/systemd_daemon.rs (line 66)
54        async fn setup(
55            &mut self,
56            wora: &Wora<DaemonEvent, ()>,
57            _exec: impl AsyncExecutor<DaemonEvent, ()>,
58            _fs: impl WFS + 'static,
59            _metrics: Sender<O11yEvent<()>>,
60            _is_first_boot: bool,
61        ) -> Result<Self::Setup, Box<dyn std::error::Error>> {
62            let sender = wora.sender.clone();
63            let status = wora.status_handle();
64            let interval = Duration::from_millis(self.config.interval_ms.max(100));
65            tokio::spawn(async move {
66                status.report_readiness(ReadinessState::Ready);
67                let mut ticker = tokio::time::interval(interval);
68                loop {
69                    ticker.tick().await;
70                    if sender.send(Event::App(DaemonEvent::Tick)).await.is_err() {
71                        break;
72                    }
73                }
74            });
75            Ok(())
76        }
Source

pub fn begin_draining(&self)

Transition the runtime into a draining state.

Source

pub fn begin_stopping(&self)

Transition the runtime into a stopping state.

Source

pub fn subscribe_health(&self) -> Receiver<HealthState>

Subscribe to health state changes.

Source

pub fn subscribe_readiness(&self) -> Receiver<ReadinessState>

Subscribe to readiness state changes.

Source

pub fn health_state(&self) -> HealthState

Return the latest reported health state.

Source

pub fn readiness_state(&self) -> ReadinessState

Return the latest reported readiness state.

Trait Implementations§

Source§

impl Clone for RuntimeStatusHandle

Source§

fn clone(&self) -> RuntimeStatusHandle

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RuntimeStatusHandle

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more