lighthouse/beacon_node/store/src/errors.rs

56 lines
1.1 KiB
Rust
Raw Normal View History

use crate::chunked_vector::ChunkError;
use crate::hot_cold_store::HotColdDbError;
2019-05-01 01:42:18 +00:00
use ssz::DecodeError;
use types::BeaconStateError;
2019-05-01 01:42:18 +00:00
#[derive(Debug, PartialEq)]
pub enum Error {
SszDecodeError(DecodeError),
VectorChunkError(ChunkError),
BeaconStateError(BeaconStateError),
PartialBeaconStateError,
HotColdDbError(HotColdDbError),
2019-05-01 01:42:18 +00:00
DBError { message: String },
}
impl From<DecodeError> for Error {
fn from(e: DecodeError) -> Error {
Error::SszDecodeError(e)
}
}
impl From<ChunkError> for Error {
fn from(e: ChunkError) -> Error {
Error::VectorChunkError(e)
}
}
impl From<HotColdDbError> for Error {
fn from(e: HotColdDbError) -> Error {
Error::HotColdDbError(e)
}
}
impl From<BeaconStateError> for Error {
fn from(e: BeaconStateError) -> Error {
Error::BeaconStateError(e)
}
}
2019-05-01 01:42:18 +00:00
impl From<DBError> for Error {
fn from(e: DBError) -> Error {
Error::DBError { message: e.message }
}
}
#[derive(Debug)]
pub struct DBError {
pub message: String,
}
impl DBError {
pub fn new(message: String) -> Self {
Self { message }
}
}