use core::fmt;
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum RelayStatus {
Initialized,
Pending,
Connecting,
Connected,
Disconnected,
Stopped,
Terminated,
}
impl fmt::Display for RelayStatus {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::Initialized => write!(f, "Initialized"),
Self::Pending => write!(f, "Pending"),
Self::Connecting => write!(f, "Connecting"),
Self::Connected => write!(f, "Connected"),
Self::Disconnected => write!(f, "Disconnected"),
Self::Stopped => write!(f, "Stopped"),
Self::Terminated => write!(f, "Terminated"),
}
}
}
impl RelayStatus {
pub(crate) fn is_disconnected(&self) -> bool {
matches!(self, Self::Disconnected | Self::Stopped | Self::Terminated)
}
}