use std::sync::PoisonError;
use thiserror::Error as ThisError;
use crate::meta_storage::{MetaResult, MetaStorageError};
pub(super) type MemResult<T> = MetaResult<T, MemMetaError>;
#[derive(Debug, ThisError)]
#[non_exhaustive]
pub enum MemMetaError {
#[error("In-memory metadata store lock poisoned")]
Poisoned,
}
impl From<MemMetaError> for MetaStorageError<MemMetaError> {
fn from(err: MemMetaError) -> Self {
MetaStorageError::Backend(err)
}
}
impl<T> From<PoisonError<T>> for MetaStorageError<MemMetaError> {
fn from(_: PoisonError<T>) -> Self {
MemMetaError::Poisoned.into()
}
}