46 lines
1.2 KiB
Rust
46 lines
1.2 KiB
Rust
use crate::ca::connset::CaConnSetItem;
|
|
use crate::conf::ChannelConfig;
|
|
use async_channel::Sender;
|
|
use serde::Serialize;
|
|
|
|
#[derive(Clone, Debug, Serialize, PartialEq, PartialOrd, Eq, Ord, Hash)]
|
|
pub struct ChannelName {
|
|
name: String,
|
|
}
|
|
|
|
impl ChannelName {
|
|
pub fn new(name: String) -> Self {
|
|
Self { name }
|
|
}
|
|
|
|
pub fn name(&self) -> &str {
|
|
&self.name
|
|
}
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub enum DaemonEvent {
|
|
TimerTick(u32, Sender<u32>),
|
|
ChannelAdd(ChannelConfig, crate::ca::conn::CmdResTx),
|
|
ChannelRemove(ChannelName),
|
|
ChannelCommand(crate::ca::connset::ChannelCommand),
|
|
CaConnSetItem(CaConnSetItem),
|
|
Shutdown,
|
|
ConfigReload(async_channel::Sender<u64>),
|
|
}
|
|
|
|
impl DaemonEvent {
|
|
pub fn summary(&self) -> String {
|
|
use DaemonEvent::*;
|
|
match self {
|
|
TimerTick(_, _) => format!("TimerTick"),
|
|
ChannelAdd(x, _) => format!("ChannelAdd {x:?}"),
|
|
ChannelRemove(x) => format!("ChannelRemove {x:?}"),
|
|
ChannelCommand(x) => format!("ChannelCommand {x:?}"),
|
|
CaConnSetItem(_) => format!("CaConnSetItem"),
|
|
Shutdown => format!("Shutdown"),
|
|
ConfigReload(..) => format!("ConfigReload"),
|
|
}
|
|
}
|
|
}
|