Skip to main content

nodedb_raft/
error.rs

1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, RaftError>;
4
5#[derive(Debug, Error)]
6pub enum RaftError {
7    #[error("not leader (leader hint: {leader_hint:?})")]
8    NotLeader { leader_hint: Option<u64> },
9
10    #[error("log compacted: requested index {requested}, first available {first_available}")]
11    LogCompacted {
12        requested: u64,
13        first_available: u64,
14    },
15
16    #[error("proposal rejected: {reason}")]
17    ProposalRejected { reason: String },
18
19    #[error("group {group_id} not found on this node")]
20    GroupNotFound { group_id: u64 },
21
22    #[error("transport error: {detail}")]
23    Transport { detail: String },
24
25    #[error("storage error: {detail}")]
26    Storage { detail: String },
27
28    #[error("serialization error: {detail}")]
29    Serialization { detail: String },
30
31    #[error("shutdown in progress")]
32    Shutdown,
33}