ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.sched.classed.core Module Reference

Data Structures

struct  zxfoundation::sched::classed::sched_class
 Scheduler class — vtable of typed function pointers. More...

Functions

auto zxfoundation::sched::classed::admit_policy (domain &owner, strand &s, const sched_policy &policy) noexcept -> std::expected< sched_admission_result, lib::kernel_error >
 Admit a concrete strand into a scheduler policy before enqueue.
auto zxfoundation::sched::classed::check_preempt (run_queue &rq, strand &waking) noexcept -> void
 Evaluate preemption through the waking strand's scheduler class.
auto zxfoundation::sched::classed::dequeue (run_queue &rq, strand &s) noexcept -> void
 Remove a strand through its scheduler class backend.
auto zxfoundation::sched::classed::effective_class (const strand &s) noexcept -> sched_class_id
 Return the effective class used for a currently existing strand.
auto zxfoundation::sched::classed::enqueue (run_queue &rq, strand &s) noexcept -> std::expected< void, lib::kernel_error >
 Enqueue a strand through its scheduler class backend.
auto zxfoundation::sched::classed::select_next (run_queue &rq) noexcept -> strand *
 Select the next runnable strand in strict scheduler class order.
auto zxfoundation::sched::classed::tick (run_queue &rq, strand &s) noexcept -> void
 Account one scheduler tick against the running strand's class.
auto zxfoundation::sched::classed::validate_policy (const domain &owner, const sched_policy &policy) noexcept -> std::expected< sched_admission_result, lib::kernel_error >
 Validate a scheduler policy against the current class surface.

Variables

void(* check_preempt )(run_queue &rq, strand &s)
 Called on each timer tick.
void(* dequeue_strand )(run_queue &rq, strand &s)
 Add strand to the run queue.
void(* enqueue_strand )(run_queue &rq, strand &s)
strand *(* pick_next_strand )(run_queue &rq)
 Remove strand from the run queue.
void(* strand_tick )(run_queue &rq, strand &s)
 Select the next strand to run.

Files

file  zxfoundation/sched/classed.zcomponent/core.cxxm
file  zxfoundation/sched/classed.zcomponent/core.cxx