Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/controller/admission.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

/// Policy controlling how new submissions are handled when a slot is busy.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ControllerAdmission {
pub enum AdmissionPolicy {
/// Skip task if already running.
///
/// Use when:
Expand Down
12 changes: 6 additions & 6 deletions src/controller/core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use crate::{
};

use super::{
admission::ControllerAdmission,
admission::AdmissionPolicy,
config::ControllerConfig,
error::ControllerError,
slot::{SlotState, SlotStatus},
Expand Down Expand Up @@ -154,7 +154,7 @@ impl Controller {
.with_reason(format!("admission={:?} status=running", admission)),
);
}
(SlotStatus::Running { .. }, ControllerAdmission::Replace) => {
(SlotStatus::Running { .. }, AdmissionPolicy::Replace) => {
Self::replace_head_or_push(&mut slot, task_spec);
slot.status = SlotStatus::Terminating {
cancelled_at: Instant::now(),
Expand All @@ -177,7 +177,7 @@ impl Controller {
.with_reason(format!("admission=Replace depth={}", slot.queue.len())),
);
}
(SlotStatus::Running { .. }, ControllerAdmission::Queue) => {
(SlotStatus::Running { .. }, AdmissionPolicy::Queue) => {
if self.reject_if_full(&slot_name, slot.queue.len()) {
return;
}
Expand All @@ -188,7 +188,7 @@ impl Controller {
.with_reason(format!("admission=Queue depth={}", slot.queue.len())),
);
}
(SlotStatus::Terminating { .. }, ControllerAdmission::Replace) => {
(SlotStatus::Terminating { .. }, AdmissionPolicy::Replace) => {
Self::replace_head_or_push(&mut slot, task_spec);
self.bus.publish(
Event::new(EventKind::ControllerSubmitted)
Expand All @@ -199,7 +199,7 @@ impl Controller {
)),
);
}
(SlotStatus::Terminating { .. }, ControllerAdmission::Queue) => {
(SlotStatus::Terminating { .. }, AdmissionPolicy::Queue) => {
if self.reject_if_full(&slot_name, slot.queue.len()) {
return;
}
Expand All @@ -213,7 +213,7 @@ impl Controller {
)),
);
}
(SlotStatus::Running { .. }, ControllerAdmission::DropIfRunning) => {}
(SlotStatus::Running { .. }, AdmissionPolicy::DropIfRunning) => {}
_ => {
if self.reject_if_full(&slot_name, slot.queue.len()) {
return;
Expand Down
4 changes: 2 additions & 2 deletions src/controller/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
//!
//! - Configure via `Supervisor::builder(..).with_controller(ControllerConfig)`.
//! - Submit via `sup.submit(ControllerSpec::{queue, replace, drop_if_running}(...))`.
//! - Policies: [`ControllerAdmission`] = `Queue | Replace | DropIfRunning`.
//! - Policies: [`AdmissionPolicy`] = `Queue | Replace | DropIfRunning`.
//! - Controller emits `ControllerSubmitted`, `ControllerRejected`, and
//! `ControllerSlotTransition` (feature `"controller"`); readable with `"logging"`’s `LogWriter`.
//!
Expand All @@ -117,7 +117,7 @@ mod error;
mod slot;
mod spec;

pub use admission::ControllerAdmission;
pub use admission::AdmissionPolicy;
pub use config::ControllerConfig;
pub use core::Controller;
pub use error::ControllerError;
Expand Down
12 changes: 6 additions & 6 deletions src/controller/spec.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use super::admission::ControllerAdmission;
use super::admission::AdmissionPolicy;
use crate::TaskSpec;

/// Request to submit a task to the controller.
Expand All @@ -7,7 +7,7 @@ use crate::TaskSpec;
#[derive(Clone)]
pub struct ControllerSpec {
/// Admission policy.
pub admission: ControllerAdmission,
pub admission: AdmissionPolicy,

/// Task specification to run.
pub task_spec: TaskSpec,
Expand All @@ -19,7 +19,7 @@ impl ControllerSpec {
/// ## Parameters
/// - `admission`: How to handle concurrent submissions
/// - `task_spec`: The task to execute
pub fn new(admission: ControllerAdmission, task_spec: TaskSpec) -> Self {
pub fn new(admission: AdmissionPolicy, task_spec: TaskSpec) -> Self {
Self {
admission,
task_spec,
Expand All @@ -34,16 +34,16 @@ impl ControllerSpec {
/// Convenience: Queue admission.
#[inline]
pub fn queue(task_spec: TaskSpec) -> Self {
Self::new(ControllerAdmission::Queue, task_spec)
Self::new(AdmissionPolicy::Queue, task_spec)
}

#[inline]
pub fn replace(task_spec: TaskSpec) -> Self {
Self::new(ControllerAdmission::Replace, task_spec)
Self::new(AdmissionPolicy::Replace, task_spec)
}

#[inline]
pub fn drop_if_running(task_spec: TaskSpec) -> Self {
Self::new(ControllerAdmission::DropIfRunning, task_spec)
Self::new(AdmissionPolicy::DropIfRunning, task_spec)
}
}
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ pub use tasks::{Task, TaskFn, TaskRef, TaskSpec};
#[cfg(feature = "controller")]
mod controller;
#[cfg(feature = "controller")]
pub use controller::{ControllerAdmission, ControllerConfig, ControllerError, ControllerSpec};
pub use controller::{AdmissionPolicy, ControllerConfig, ControllerError, ControllerSpec};

// Optional: expose a simple built-in logger subscriber (demo/reference).
// Enable with: `--features logging`
Expand Down