pub struct NodeError {
pub code: String,
pub message: String,
pub retryable: bool,
pub backoff_ms: Option<u64>,
pub details: Option<ErrorDetail>,
/* private fields */
}Expand description
Error type emitted by Greentic nodes.
Fields§
§code: StringMachine readable error code.
message: StringHuman readable message explaining the failure.
retryable: boolWhether the failure is retryable by the runtime.
backoff_ms: Option<u64>Optional backoff duration in milliseconds for the next retry.
details: Option<ErrorDetail>Optional structured error detail payload.
Implementations§
Source§impl NodeError
impl NodeError
Sourcepub fn new(code: impl Into<String>, message: impl Into<String>) -> Self
pub fn new(code: impl Into<String>, message: impl Into<String>) -> Self
Constructs a non-retryable failure with the supplied code and message.
Sourcepub fn with_retry(self, backoff_ms: Option<u64>) -> Self
pub fn with_retry(self, backoff_ms: Option<u64>) -> Self
Marks the error as retryable with an optional backoff value.
Sourcepub fn with_detail(self, detail: ErrorDetail) -> Self
pub fn with_detail(self, detail: ErrorDetail) -> Self
Attaches structured details to the error.
Sourcepub fn with_detail_text(self, detail: impl Into<String>) -> Self
pub fn with_detail_text(self, detail: impl Into<String>) -> Self
Attaches a textual detail payload to the error.
Sourcepub fn with_detail_binary(self, detail: BinaryPayload) -> Self
pub fn with_detail_binary(self, detail: BinaryPayload) -> Self
Attaches a binary detail payload to the error.
Sourcepub fn with_source<E>(self, source: E) -> Self
pub fn with_source<E>(self, source: E) -> Self
Attaches a source error to the failure for debugging purposes.
Sourcepub fn detail(&self) -> Option<&ErrorDetail>
pub fn detail(&self) -> Option<&ErrorDetail>
Returns the structured details, when available.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for NodeError
impl<'de> Deserialize<'de> for NodeError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Error for NodeError
Available on crate feature std only.
impl Error for NodeError
Available on crate feature
std only.Source§fn source(&self) -> Option<&(dyn StdError + 'static)>
fn source(&self) -> Option<&(dyn StdError + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for NodeError
impl !RefUnwindSafe for NodeError
impl Send for NodeError
impl Sync for NodeError
impl Unpin for NodeError
impl !UnwindSafe for NodeError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more