5#include "error_handler.hpp"
8#include "pthread_wrapper.hpp"
9#include "scheduled_pool.hpp"
10#include "scheduler_policy.hpp"
12#include "thread_pool.hpp"
13#include "thread_pool_with_errors.hpp"
14#include "thread_registry.hpp"
15#include "thread_wrapper.hpp"
35namespace threadschedule
41namespace ts = threadschedule;
53using ts::ErrorCallback;
60using ts::JThreadWrapper;
61using ts::JThreadWrapperView;
63using ts::ScheduledFastThreadPool;
64using ts::ScheduledHighPerformancePool;
66using ts::ScheduledThreadPool;
68using ts::SchedulingPolicy;
82using ts::build_mode_string;
85#if defined(__cpp_impl_coroutine) && __cpp_impl_coroutine >= 201902L
Test/chaos features to perturb scheduling at runtime.
RAII controller that periodically perturbs scheduling attributes of registered threads for chaos/fuzz...
Central registry and dispatcher for task-error callbacks.
FastThreadPool combined with an ErrorHandler.
Single-queue thread pool with optimized locking for medium workloads.
A move-only future wrapper that supports an error callback.
RAII wrapper around POSIX threads with a modern C++ interface.
Copyable handle for a cancellable scheduled task.
Thread pool augmented with delayed and periodic task scheduling.
Manages a set of CPU indices to which a thread may be bound.
Looks up an OS thread by its name via /proc and provides scheduling control.
ThreadPool combined with an ErrorHandler.
Simple, general-purpose thread pool.
Value-semantic wrapper for a thread scheduling priority.
Non-owning view over an externally managed std::thread.
Owning wrapper around std::thread with RAII join-on-destroy semantics.
C++20 concepts, type traits, and SFINAE helpers for the threading library.
Lazy multi-value coroutine (generator<T>).
High-level thread configuration profiles and helpers.
auto apply_profile(ThreadLike &t, ThreadProfile const &p) -> expected< void, std::error_code >
Apply a profile to a thread wrapper or view.
Plain value type holding runtime chaos-testing parameters.
Snapshot of basic CPU/NUMA topology.
Holds diagnostic information captured from a failed task.
Declarative profile bundling scheduling intent for a thread.
Lazy single-value coroutine (task<T>) and blocking bridge (sync_wait).
Hardware topology helpers (CPU count, NUMA nodes) and affinity builders.
auto affinity_for_node(int node_index, int thread_index, int threads_per_node=1) -> ThreadAffinity
Build a ThreadAffinity for the given NUMA node.
auto distribute_affinities_by_numa(size_t num_threads) -> std::vector< ThreadAffinity >
Distribute thread affinities across NUMA nodes in round-robin order.
auto read_topology() -> CpuTopology
Discover basic topology. Linux: reads /sys for NUMA nodes. Windows: single node, sequential CPU indic...