Skip to main content

Module utils

Module utils 

Source
Expand description

Task utility functions.

Re-exports§

pub use thread_priority;
pub use self;

Modules§

unixAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
This module defines the unix thread control.

Structs§

DeadlineFlagsAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Flags for controlling Deadline scheduling behavior.
SchedAttr(Android or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly) and (Android or Linux)
A copy of the Linux kernel’s sched_attr type.
ScheduleParamsAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Proxy structure to maintain compatibility between glibc and musl
Thread
Represents an OS thread.
ThreadBuilder
A copy of the std::thread::Builder builder allowing to set priority settings.
ThreadPriorityOsValue
Platform-specific thread priority value.
ThreadPriorityValue
Platform-independent thread priority value. Should be in [0; 100) range. The higher the number is - the higher the priority.

Enums§

Error
A error type
NormalThreadSchedulePolicyAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Normal (non-realtime) schedule policies For these schedule policies, niceness is used.
PriorityPolicyEdgeValueTypeAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Defines the type of the priority edge value: minimum or maximum.
RealtimeThreadSchedulePolicyAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
The following “real-time” policies are also supported, for special time-critical applications that need precise control over the way in which runnable processes are selected for execution
ThreadPriority
Thread priority enumeration.
ThreadSchedulePolicyAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Thread schedule policy definition.

Constants§

NICENESS_MAXAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
The maximum value possible for niceness. Threads with this value of niceness have the highest priority possible
NICENESS_MINAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
The minimum value possible for niceness. Threads with this value of niceness have the lowest priority possible.

Traits§

ThreadBuilderExt
Adds thread building functions using the priority.
ThreadExtAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
A helper trait for other threads to implement to be able to call methods on threads themselves.
ThreadScopeExt
Adds scoped thread building functions using the priority.

Functions§

deprioritize_background_threads
Deprioritizes known background threads spawned by third-party libraries (tracing-appender, reqwest) by scanning /proc/<pid>/task/ for matching thread names and setting SCHED_IDLE scheduling policy on them.
get_current_thread_priorityAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Get current thread’s priority value.
get_thread_priorityAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Get the thread’s priority value.
get_thread_scheduling_attributes(Android or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly) and (Android or Linux)
Returns scheduling attributes for the current thread.
increase_thread_priority
Increases the current thread’s priority.
set_current_thread_priorityAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Set current thread’s priority. In order to properly map a value of the thread priority, the thread scheduling must be known. This function attempts to retrieve the current thread’s scheduling policy and thus map the priority value correctly, so that it fits within the scheduling policy’s allowed range of values.
set_thread_priority_and_policyAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Sets thread’s priority and schedule policy
spawn
Spawns a thread with the specified priority.
spawn_careless
Spawns a thread with the specified priority. This is different from spawn in a way that the passed function doesn’t need to accept the ThreadPriority::set_for_current result. In case of an error, the error is logged using the logging facilities.
spawn_scoped
Spawns a scoped thread with the specified priority.
spawn_scoped_careless
Spawns a scoped thread with the specified priority. This is different from spawn_scoped in a way that the passed function doesn’t need to accept the ThreadPriority::set_for_current result. In case of an error, the error is logged using the logging facilities.
thread_native_idAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Returns current thread id, which is the current OS’s native handle. It may or may not be equal or even related to rust’s thread id, there is absolutely no guarantee for that.
thread_schedule_policyAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Returns policy parameters (schedule policy and other schedule parameters) for current process
thread_schedule_policy_paramAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
Returns policy parameters (schedule policy and other schedule parameters)

Type Aliases§

ThreadIdAndroid or DragonFly BSD or FreeBSD or iOS or Linux or macOS or NetBSD or OpenBSD or VxWorks or WebAssembly
An alias type for a thread id.