rs-zero 0.1.1

Rust-first microservice framework inspired by go-zero engineering practices
Documentation
use thiserror::Error;

/// etcd adapter result type.
pub type EtcdDiscoveryResult<T> = Result<T, EtcdDiscoveryError>;

/// etcd adapter errors.
#[derive(Debug, Error)]
pub enum EtcdDiscoveryError {
    /// Serialization failed.
    #[error("etcd discovery codec error: {0}")]
    Codec(#[from] serde_json::Error),

    /// No endpoints were configured.
    #[error("etcd discovery requires at least one endpoint")]
    MissingEndpoint,

    /// Backend operation failed.
    #[error("etcd backend error: {0}")]
    Backend(String),
}