Skip to main content

Runtime

Struct Runtime 

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

A composed kindling integration: a client (and durable-emit spooled client) over a daemon the runtime either started in-process or attached to.

Owns the embedded server task handle (when SpawnStrategy::Embedded), so shutdown can stop it.

Dropping a Runtime without calling shutdown does not stop an embedded daemon: the serve task was spawned onto the tokio runtime and keeps running until the runtime itself shuts down (or the daemon idles out). Call shutdown for deterministic teardown.

Implementations§

Source§

impl Runtime

Source

pub async fn start(config: RuntimeConfig) -> Result<Self, RuntimeError>

Start the runtime: build a client for the configured socket and wire the SpawnStrategy. Probes the daemon with a health call (which triggers attach-or-spawn) so a started runtime is immediately usable.

Source

pub fn client(&self) -> &Client

Borrow the underlying daemon client for reads and non-spooled ops (health, retrieve, capsules, pins, …).

Source

pub fn spooled_client(&self) -> &SpooledClient

Borrow the durable-emit spooled client. Append through this for outage-resilient writes.

Source

pub fn strategy(&self) -> &SpawnStrategy

The SpawnStrategy this runtime was started with.

Source

pub fn spawned_embedded_daemon(&self) -> bool

Whether this runtime started an embedded daemon (true) or attached to a pre-existing one (false). Only meaningful for SpawnStrategy::Embedded.

Source

pub async fn shutdown(self) -> Result<(), RuntimeError>

Stop the runtime, aborting the embedded daemon task if this runtime started one. Attached daemons (started elsewhere) are left running.

Trait Implementations§

Source§

impl Debug for Runtime

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

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> Same for T

Source§

type Output = T

Should always be Self
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