pub enum IndexerError {
Stream(String),
Cursor(String),
Decode(DecodeError),
Handler(String),
MissingBody(String),
FamilyContract(String),
}Expand description
Every failure the indexer can raise while pulling events and driving handlers.
Variants§
Stream(String)
The EventStream produced an error
pulling the next event. Transport-level failures bubble up
here so the caller can decide whether to reconnect or exit.
Cursor(String)
The cursor store failed to load or commit a cursor position.
Decode(DecodeError)
Decoding the record body json into an
idiolect_records::AnyRecord failed. Includes unknown
dev.idiolect.* nsids and serde type mismatches.
Handler(String)
A RecordHandler returned an error
while processing a decoded record. The error message is
handler-defined; by the time this variant is constructed the
record has already been decoded and is valid.
MissingBody(String)
The record body json was missing or malformed on the
firehose event. Tap produces this for delete actions (no
record body) and for events whose embedded record failed to
round-trip through serde_json::RawValue.
FamilyContract(String)
The configured RecordFamily’s
contains predicate accepted a collection NSID, but its
decode then returned Ok(None) for the same NSID. The
two predicates have diverged, which is a family-implementation
bug; this variant surfaces it as a hard error rather than
silently dropping the record.
Trait Implementations§
Source§impl Debug for IndexerError
impl Debug for IndexerError
Source§impl Display for IndexerError
impl Display for IndexerError
Source§impl Error for IndexerError
impl Error for IndexerError
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()