use std::io;
pub type ClusterResult<T> = Result<T, ClusterError>;
#[derive(Debug, thiserror::Error)]
pub enum ClusterError {
#[error("invalid cluster config: {0}")]
InvalidConfig(String),
#[error("cluster UDP transport failed: {0}")]
Io(#[from] io::Error),
#[error("cluster feed failed: {0}")]
Feed(String),
#[error("cluster node is stopped")]
Stopped,
#[error("cluster gossip failed: {0}")]
Gossip(String),
}
impl From<datum::StreamError> for ClusterError {
fn from(error: datum::StreamError) -> Self {
Self::Feed(error.to_string())
}
}