use derive_more::{Display, IsVariant, TryUnwrap, Unwrap};
#[derive(Debug, Display, Copy, Clone, Eq, PartialEq, Hash, IsVariant, Unwrap, TryUnwrap)]
#[display("{}", self.as_str())]
#[non_exhaustive]
pub enum ServiceState {
Init,
Probing(u8),
Announcing(u8),
Established,
Conflicting,
}
impl ServiceState {
pub fn as_str(&self) -> &str {
match self {
Self::Init => "init",
Self::Probing(_) => "probing",
Self::Announcing(_) => "announcing",
Self::Established => "established",
Self::Conflicting => "conflicting",
}
}
}
#[cfg(test)]
mod tests;