#![warn(missing_docs)]
mod blocking;
mod clock;
mod driver;
mod error;
mod executor;
mod scaler;
mod scheduler;
mod store;
mod task;
mod telemetry;
pub use blocking::{BlockingHandle, BlockingScheduler};
pub use clock::Clock;
pub use error::{Error, ScaleError, StoreError, TaskError, TaskFailure};
pub use executor::{BoxFuture, Executor, FnExecutor, TaskContext};
pub use scaler::{ExternalScaler, Scaler, SlotScaler};
pub use scheduler::{Builder, Pool, Scheduler, TaskHandle};
#[cfg(feature = "store-codec")]
pub mod codec;
pub use store::{MemoryStore, Store, StoreQueries, TaskRecord, TimeBase};
pub use task::{Recurring, Task, When};
pub use cronoq_core as core;
pub use cronoq_core::{
AutoscaleConfig, Bounds, Dep, EdgeCond, Fairness, GroupSnapshot, Labels, LeaseId, MissPolicy,
Mutation, OverflowPolicy, OverlapPolicy, PoolConfig, PoolId, PoolSnapshot, Priority,
PriorityConfig, Recovered, RecoveredTask, RecoveredTerminal, RecurringInfo, RecurringSpec,
ResourceConfig, ResourceKind, RetryPolicy, Snapshot, StatusEvent, SubmitError, Submitted,
TaskId, TaskRef, TaskSpec, TaskStatus, TaskSummary, Time, UnknownDependency, UrgencyConfig,
};