Skip to main content

AgentReadinessProbe

Struct AgentReadinessProbe 

Source
pub struct AgentReadinessProbe(/* private fields */);
Expand description

In-process agent-loop readiness probe.

Agent-loop serviceability (“can this daemon serve a chat turn?”) is global daemon health, not per-principal authorization — so the co-located gateway’s prompt fail-fast reads it directly instead of issuing the capability-gated crate::kernel_api::KernelRequest::GetAgentReadiness as the caller (which only admins/capsule:list holders could answer). The closure is built in astrid-kernel (which owns the live registry) and merely invoked by the gateway, so neither the capability model nor the gateway’s dependency on the WASM engine is touched. Defined here so both crates can name it without a dependency cycle, and spelled with std types so astrid-core needs no futures dependency.

Implementations§

Source§

impl AgentReadinessProbe

Source

pub fn new( f: impl Fn() -> Pin<Box<dyn Future<Output = AgentLoopReadiness> + Send>> + Send + Sync + 'static, ) -> Self

Wrap a readiness-computing closure. The closure must be cheap and self-contained (it captures whatever state it reads) so each call reflects the current loaded set.

Source

pub async fn probe(&self) -> AgentLoopReadiness

Compute current readiness.

Trait Implementations§

Source§

impl Clone for AgentReadinessProbe

Source§

fn clone(&self) -> AgentReadinessProbe

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 AgentReadinessProbe

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, 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.