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
use crate::types::{CometdError, Data};
use std::sync::Arc;
#[allow(missing_docs)]
#[derive(Debug)]
pub enum CometdClientEvent<Msg> {
Message(Arc<[Data<Msg>]>),
Error(Arc<CometdError>),
}
impl<Msg> Clone for CometdClientEvent<Msg> {
fn clone(&self) -> Self {
match *self {
Self::Message(ref data) => Self::Message(Arc::clone(data)),
Self::Error(ref error) => Self::Error(Arc::clone(error)),
}
}
}
impl<Msg> CometdClientEvent<Msg> {
#[inline(always)]
pub(crate) fn error(error: CometdError) -> Self {
Self::Error(Arc::new(error))
}
}