pub enum ProjectionError {
Db(DbErr),
Json(Error),
Broadcast(String),
Events(String),
StateNotFound {
name: &'static str,
key: String,
},
}Variants§
Db(DbErr)
Underlying SeaORM database error (snapshot upsert, find, delete).
Json(Error)
JSON serialization / deserialization error on P::State
round-trips against the persisted JSON column.
Broadcast(String)
Broadcast publish error. Stringly-typed because
ferro_broadcast::Error doesn’t compose cleanly through
thiserror::From — same pragmatic choice Phase 149 made for
ferro_notifications::Error::Broadcast(String).
Per D-21: broadcast failure does NOT roll back state — the snapshot row is already persisted. Surfaces this error so consumers can alarm on it; subscribers reconcile by re-reading the snapshot.
Events(String)
Event-bus error surfaced from ferro_events::Error. Hand-rolled
From impl mirrors Broadcast above (D-29).
StateNotFound
Reserved for an explicit read_required helper if a consumer
wants Result<State, _> rather than Result<Option<State>, _>.
Not used by read itself (which returns Result<Option<_>, _>).
Trait Implementations§
Source§impl Debug for ProjectionError
impl Debug for ProjectionError
Source§impl Display for ProjectionError
impl Display for ProjectionError
Source§impl Error for ProjectionError
impl Error for ProjectionError
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()