Open CHr15F0x opened 2 weeks ago
More concrete steps:
anyhow::Error
Other
variant to Fatal
(SyncError, SyncError2)
OR at least make sure that shared_impls (like in class_definitions.rs
) do not return anyhow::Error
but MySpecificErrorNewtype(anyhow::Error|innerType)
which then forces map_err
to correct SyncError|SyncError2
variant and cannot be by mistake implicitly converted to the ::Fatal() variant of SyncError|SyncError2
Any errors coming from
p2p::peer_agnostic::Client::*_stream
should be irrecoverable errors.For example:
class_definition_stream
returns a fatal error (wrapped inanyhow::Error
) only when the DB fails, because it ingests a stream of expected class counts per block from the DB.