Skip to main content

pop_fork/error/
local.rs

1// SPDX-License-Identifier: GPL-3.0
2
3//! Local storage layer error types.
4
5use crate::error::{CacheError, RemoteStorageError, RpcClientError};
6use thiserror::Error;
7
8/// Errors that can occur when accessing the local storage layer.
9#[derive(Debug, Error)]
10pub enum LocalStorageError {
11	/// Arithmetic error
12	#[error("Arithmetic error")]
13	Arithmetic,
14	/// Cache error
15	#[error(transparent)]
16	Cache(#[from] CacheError),
17	/// Remote storage error
18	#[error(transparent)]
19	RemoteStorage(#[from] RemoteStorageError),
20	/// RPC client error when fetching metadata from remote
21	#[error("RPC error: {0}")]
22	Rpc(#[from] RpcClientError),
23	/// Lock acquire error
24	#[error("Local storage acquire error: {0}")]
25	Lock(String),
26	/// Metadata not found for the requested block
27	#[error("Metadata not found: {0}")]
28	MetadataNotFound(String),
29}