threadman 0.1.0
Header-only C++23 managed threads, dynamic pools, futures, and executors
Loading...
Searching...
No Matches
threadman Directory Reference
Directory dependency graph for threadman:
include/threadman

Files

 config.hpp
 Central feature-gate header for ThreadMan's optional integrations and tunable defaults.
 
 display.hpp
 Re-export <commons/display_info.hpp> and attach non-intrusive comms::HasDisplayInfo<> specializations for the enums defined in <threadman/stats.hpp>.
 
 exceptions.hpp
 Typed exception hierarchy thrown by ThreadMan.
 
 executor.hpp
 Executor abstraction — IExecutor (virtual), the Executor concept (duck-typed), and three concrete executors: InlineExecutor (runs on the calling thread), SingleThreadExecutor (owns a tiny thread pool of size 1), and ExecutorRef<Exec> (adapts a concept-conforming executor to IExecutor).
 
 future.hpp
 threadman::Future<T> (one-shot), threadman::SharedFuture<T> (multi-shot), and threadman::Promise<T> — composable async result types with .then continuations dispatched through any executor.
 
 future_wait_pool.hpp
 threadman::FutureWaitPool — a dynamically-scaling executor specialized for blocking waits, primarily adopting std::future / std::shared_future into ThreadMan's Future<T>.
 
 json.hpp
 nlohmann/json serialization hooks for the snapshot value-types and their enums.
 
 log.hpp
 Cached subsystem loggers for the tm.
 
 manager.hpp
 threadman::ThreadManager — central registry of all live ManagedThreads and ThreadPools, plus a dedicated housekeeping thread that drives per-pool scaling, prunes the registry, detects stuck tasks, and periodically publishes a ManagerSummary to subscribed listeners.
 
 metrics.hpp
 Cached subsystem metrics for the tm_* Prometheus/OpenMetrics families, mirroring the tm.
 
 parcel.hpp
 Optional cpp-parcel adapter.
 
 stats.hpp
 Plain value snapshots of the live state of the ThreadMan world — threads, pools, tasks, futures, plus the aggregate ManagerSummary published periodically to listeners.
 
 task.hpp
 threadman::TaskHandle — a ref-counted, shareable handle to a single task's lifecycle (id, name, owning pool, current state, and timestamps).
 
 thread.hpp
 threadman::ManagedThread — RAII wrapper around std::jthread that publishes lifecycle state via a shared ControlBlock and registers itself with a ThreadManager for inspection.
 
 thread_pool.hpp
 threadman::ThreadPool — a dynamic-scaling worker-queue executor.
 
 threadman.hpp
 Umbrella header for ThreadMan — pulls in every public type.