Skip to main content

LifecycleError

Enum LifecycleError 

Source
#[non_exhaustive]
pub enum LifecycleError { Service(ServiceError), HostIdentity(HostIdentityError), NoHost, Launch(Error), LaunchTimeout, RestartExhausted, NotOwned, Released, StaleGeneration { issued: u64, current: u64, }, Unconfirmed, Process(Error), }
Expand description

Why a lifecycle operation failed.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Service(ServiceError)

A wire-level or discovery error (kept with its retryable flag).

§

HostIdentity(HostIdentityError)

The process behind the endpoint is not the host the caller expected. Nothing was sent to it, and nothing was attached.

§

NoHost

No live host, and no launcher to start one. Retryable.

§

Launch(Error)

The launcher failed, or the launched process left before it published itself.

§

LaunchTimeout

The launched process did not publish itself within the startup timeout (it was stopped).

§

RestartExhausted

The owned host exited and the restart budget is spent.

§

NotOwned

DaemonLifecycle::shutdown_owned on a host this lifecycle did not launch.

§

Released

The session or the lifecycle was already released or shut down.

§

StaleGeneration

The host the session was bound to is gone or was replaced. issued is the generation epoch the session (or request) was bound to, current the epoch now. The request may or may not have run on the old host.

Fields

§issued: u64
§current: u64
§

Unconfirmed

The host generation could not be confirmed (its record was unreadable). Treated like stale: a reply that cannot be tied to the current host is not delivered.

§

Process(Error)

A process operation failed (identity read, signal).

Implementations§

Source§

impl LifecycleError

Source

pub fn code(&self) -> &str

The wire-style code.

Source

pub fn is_retryable(&self) -> bool

Whether trying again (a fresh acquire_session) can succeed. Never true for a stale reply as such: the caller decides whether the request may run twice.

Source

pub fn into_service_error(self) -> ServiceError

Collapse into the single wire-style error.

Trait Implementations§

Source§

impl Debug for LifecycleError

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for LifecycleError

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Error for LifecycleError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<ServiceError> for LifecycleError

Source§

fn from(e: ServiceError) -> Self

Converts to this type from the input type.
Source§

impl From<Stale> for LifecycleError

Source§

fn from(s: Stale) -> Self

Converts to this type from the input type.

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.