use thiserror::Error;
#[derive(Error, Debug)]
pub enum MyError {
#[error("The timer queue has been removed, failed to {0}")]
LaterOperation(String),
#[error("The timer has expired, it cannot be cancelled.")]
CancelAfterExpired,
#[error("The timer has been canceled or not initialized.")]
AlreadyCanceled,
#[error("The scheduler for {0} has been removed.")]
SchedulerRemoved(u64),
#[error("The timer production line for {0} has been removed.")]
TplRemoved(i64),
#[error("Too many clocks have been added.")]
TooManyClocks,
#[error("The message queue is full.")]
QueueIsFull,
}