use std::collections::BinaryHeap;
use crate::service::ExecutorServiceLifecycle;
use super::scheduled_task::ScheduledTask;
pub(crate) struct SingleThreadScheduledExecutorServiceState {
pub(crate) lifecycle: ExecutorServiceLifecycle,
pub(crate) tasks: BinaryHeap<ScheduledTask>,
pub(crate) next_sequence: usize,
pub(crate) terminated: bool,
}
impl SingleThreadScheduledExecutorServiceState {
pub(crate) fn new() -> Self {
Self {
lifecycle: ExecutorServiceLifecycle::Running,
tasks: BinaryHeap::new(),
next_sequence: 0,
terminated: false,
}
}
}