cometd_client/types/
event.rs1use crate::types::{CometdError, Data};
2use std::sync::Arc;
3
4#[allow(missing_docs)]
6#[derive(Debug)]
7pub enum CometdClientEvent<Msg> {
8 Message(Arc<[Data<Msg>]>),
9 Error(Arc<CometdError>),
10}
11
12impl<Msg> Clone for CometdClientEvent<Msg> {
14 fn clone(&self) -> Self {
15 match *self {
16 Self::Message(ref data) => Self::Message(Arc::clone(data)),
17 Self::Error(ref error) => Self::Error(Arc::clone(error)),
18 }
19 }
20}
21
22impl<Msg> CometdClientEvent<Msg> {
23 #[inline(always)]
24 pub(crate) fn error(error: CometdError) -> Self {
25 Self::Error(Arc::new(error))
26 }
27}