1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use sled::{CompareAndSwapError, Error};

use crate::{QError, QErrorKind, RuntimeError};

impl From<Error> for QError {
    fn from(error: Error) -> Self {
        match error {
            Error::Io(o) => QError::from(o),
            _ => QError {
                error: Box::new(QErrorKind::Runtime(RuntimeError::from(&error))),
                level: Default::default(),
                source: Some(Box::new(error)),
            },
        }
    }
}

impl From<CompareAndSwapError> for QError {
    fn from(error: CompareAndSwapError) -> Self {
        QError {
            error: Box::new(QErrorKind::Runtime(RuntimeError::from(&error))),
            level: Default::default(),
            source: Some(Box::new(error)),
        }
    }
}