This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / knot2 / crates / knot-cob / src / error.rs
2.2 kB 53 lines
1use knot_types::{ChangeId, CobId, Oid, TypeName}; 2 3#[derive(Debug, thiserror::Error)] 4pub enum PayloadError { 5 #[error("dag-cbor encode failed: {0}")] 6 Encode(String), 7 #[error("dag-cbor decode failed: {0}")] 8 Decode(String), 9} 10 11#[derive(Debug, thiserror::Error)] 12pub enum CobError { 13 #[error(transparent)] 14 Git(#[from] knot_git::GitError), 15 #[error(transparent)] 16 Payload(#[from] PayloadError), 17 #[error("object {0} does not exist")] 18 NoSuchObject(CobId), 19 #[error("object {0} tip does not descend from its root change")] 20 DetachedTip(CobId), 21 #[error("object {object} tip does not descend from indexed tip {since}")] 22 DivergedTip { object: CobId, since: ChangeId }, 23 #[error("object {0} is not rooted at genesis change")] 24 RootNotGenesis(CobId), 25 #[error("object {object} contains second parentless change {stray}")] 26 MultipleRoots { object: CobId, stray: ChangeId }, 27 #[error("authoritative object {object} has forked history at merge change {change}")] 28 ForkedHistory { object: CobId, change: ChangeId }, 29 #[error("change {change} is not validly signed by the owning identity")] 30 UnverifiedChange { change: ChangeId }, 31 #[error("concurrent write moved object {object} past expected tip {expected}")] 32 StaleTip { object: CobId, expected: ChangeId }, 33 #[error("object {0} exceeded its compare-and-swap retry budget under contention")] 34 Contended(CobId), 35 #[error("change {oid} is malformed: {reason}")] 36 MalformedChange { oid: Oid, reason: String }, 37 #[error("change {change} payload does not decode: {reason}")] 38 UndecodableChange { change: ChangeId, reason: String }, 39 #[error("change {change} is a {found} change in {expected} object")] 40 UnexpectedChangeType { 41 change: ChangeId, 42 expected: TypeName, 43 found: TypeName, 44 }, 45 #[error("produced unverifiable signature for {0} change")] 46 SelfCheck(TypeName), 47 #[error("change graph for {0} exceeds load bound")] 48 HistoryTooLong(CobId), 49 #[error("'{0}' is not usable collaborative-object ref name")] 50 RefName(String), 51 #[error("writing git object failed: {0}")] 52 Write(String), 53}