pub enum NotifierError {
Io(String),
Config(String),
Service {
status: u16,
message: String,
},
Timeout {
elapsed_ms: u64,
},
Unavailable(String),
}Expand description
Plugin-returned error type.
Every variant is treated identically by the engine: logged via
tracing::warn!, recorded in ReactionOutcome { success: false, .. },
and never propagated up to the polling loop. A flaky notifier must
not wedge the tick — matches the “never poison the engine” principle
used for malformed durations in Slice 2 Phase H.
The variant split exists so plugin authors have a reasonable place
to put their own errors without inventing a new enum per plugin.
HTTP plugins lean on Service + Timeout; desktop plugins lean on
Unavailable; anything that failed before the wire lean on Config
or Io.
Variants§
Io(String)
Local I/O failed — filesystem, stdout, named pipe, etc.
Config(String)
Plugin configuration is invalid or incomplete (missing token, unparseable URL, …).
Service
External service returned a non-success status.
Timeout
Plugin exceeded its own timeout budget before the service responded.
External service or local dependency is unreachable right now (connection refused, DNS failure, desktop daemon missing).
Trait Implementations§
Source§impl Debug for NotifierError
impl Debug for NotifierError
Source§impl Display for NotifierError
impl Display for NotifierError
Source§impl Error for NotifierError
impl Error for NotifierError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()