use crate::RaftTypeConfig;
use crate::errors::Fatal;
use crate::errors::Infallible;
use crate::type_config::alias::JoinHandleOf;
use crate::type_config::alias::WatchReceiverOf;
pub(in crate::raft) enum CoreState<C>
where C: RaftTypeConfig
{
Running(JoinHandleOf<C, Result<Infallible, Fatal<C>>>),
Joining(WatchReceiverOf<C, bool>),
Done(Result<Infallible, Fatal<C>>),
}
impl<C> CoreState<C>
where C: RaftTypeConfig
{
#[allow(dead_code)]
pub(in crate::raft) fn is_running(&self) -> bool {
matches!(self, CoreState::Running(_))
}
}