signet_cold_mdbx/
error.rs1use signet_hot::ser::DeserError;
4
5#[derive(Debug, thiserror::Error)]
7pub enum MdbxColdError {
8 #[error("serialization error: {0}")]
10 Ser(#[from] DeserError),
11
12 #[error("mdbx error: {0}")]
14 Mdbx(#[from] signet_hot_mdbx::MdbxError),
15
16 #[error("database is read-only")]
18 ReadOnly,
19
20 #[error("too many logs: limit is {0}")]
22 TooManyLogs(usize),
23
24 #[error("mdbx read timed out after {0:?}")]
26 Timeout(std::time::Duration),
27}
28
29impl From<MdbxColdError> for signet_cold::ColdStorageError {
30 fn from(error: MdbxColdError) -> Self {
31 match error {
32 MdbxColdError::TooManyLogs(limit) => Self::TooManyLogs { limit },
33 MdbxColdError::Timeout(duration) => Self::DeadlineExceeded(duration),
34 other => Self::Backend(Box::new(other)),
35 }
36 }
37}