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
27
28
29
30
31
use std::borrow::Cow;
use raw::client_messages::mod_ReadEventCompleted::ReadEventResult;
#[derive(Debug, Clone, Eq, PartialEq)]
pub enum ReadEventError<'a> {
    
    NotFound,
    
    NoStream,
    
    StreamDeleted,
    
    Error(Option<Cow<'a, str>>),
    
    AccessDenied
}
impl<'a> From<(ReadEventResult, Option<Cow<'a, str>>)> for ReadEventError<'a> {
    fn from((res, err): (ReadEventResult, Option<Cow<'a, str>>)) -> Self {
        use self::ReadEventResult::*;
        match res {
            Success => unreachable!(),
            NotFound => ReadEventError::NotFound,
            NoStream => ReadEventError::NoStream,
            StreamDeleted => ReadEventError::StreamDeleted,
            Error => ReadEventError::Error(err),
            AccessDenied => ReadEventError::AccessDenied,
        }
    }
}