ThreadSchedule 3.0.0
Modern C++ thread management library
Loading...
Searching...
No Matches
scheduling.hpp File Reference

Portable scheduling intents and priority configuration. More...

#include <cstdint>
#include "nice_value.hpp"
#include "realtime_priority.hpp"
Include dependency graph for scheduling.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  threadschedule::scheduling_config
 Immutable scheduling request passed to thread creation/configuration APIs. More...
 

Namespaces

namespace  threadschedule
 
namespace  threadschedule::detail
 Aggregates multiple thread_registry_backend instances into a single queryable view.
 
namespace  threadschedule::schedule
 Helpers for building scheduling_config values.
 

Enumerations

enum class  threadschedule::scheduling_intent : std::uint8_t {
  threadschedule::background , threadschedule::normal , threadschedule::interactive , threadschedule::low_latency ,
  threadschedule::realtime_fifo , threadschedule::realtime_round_robin , threadschedule::nice
}
 Portable scheduling intents that map to platform-specific behavior. More...
 
enum class  threadschedule::priority_level : std::int8_t {
  threadschedule::lowest = 19 , threadschedule::low = 5 , threadschedule::normal = 0 , threadschedule::high = -5 ,
  threadschedule::highest = -20
}
 Portable non-realtime priority levels. More...
 

Functions

constexpr auto threadschedule::schedule::background () noexcept -> scheduling_config
 Request background scheduling.
 
constexpr auto threadschedule::schedule::normal () noexcept -> scheduling_config
 Request default scheduling.
 
constexpr auto threadschedule::schedule::interactive () noexcept -> scheduling_config
 Request interactive scheduling.
 
constexpr auto threadschedule::schedule::low_latency () noexcept -> scheduling_config
 Request low-latency scheduling.
 
constexpr auto threadschedule::schedule::realtime_fifo (realtime_priority priority) noexcept -> scheduling_config
 Request realtime FIFO scheduling.
 
constexpr auto threadschedule::schedule::realtime_rr (realtime_priority priority) noexcept -> scheduling_config
 Request realtime round-robin scheduling.
 
constexpr auto threadschedule::schedule::nice (nice_value value) noexcept -> scheduling_config
 Request scheduling via explicit nice value.
 
constexpr auto threadschedule::schedule::priority (priority_level level) noexcept -> scheduling_config
 Request scheduling via portable priority level presets.
 

Detailed Description

Portable scheduling intents and priority configuration.

Definition in file scheduling.hpp.