rtkit-client-rs (1.0.0)
Installation
[registry]
default = "gitea"
[registries.gitea]
index = "sparse+ " # Sparse index
# index = " " # Git
[net]
git-fetch-with-cli = truecargo add rtkit-client-rs@1.0.0About this package
Client library for requesting privileged scheduling from rtkit
rtkit-client-rs
Small implementation of the rtkit dbus interface in rust.
This interface lets you request real-time scheduling for one or more threads.
Usage
use nix::unistd::gettid;
use std::thread;
use rtkit_client_rs::{set_current_thread_nice_level, set_current_thread_priority};
fn main() {
println!("Main tid: {}", gettid());
thread::spawn(important_thread).join().unwrap();
}
fn important_thread() {
println!("Important thread tid: {}", gettid());
let requested_priority = 40;
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
match actual_priority {
Ok(actual_priority) => println!(
"Requested priority: {requested_priority}, Actual priority: {}",
actual_priority.value(),
),
Err(err) => {
eprintln!("Failed to set priority: {err}");
}
}
let requested_nice_level = -10;
let actual_nice_level =
set_current_thread_nice_level(Some(requested_nice_level.try_into().unwrap()));
match actual_nice_level {
Ok(actual_nice_level) => println!(
"Requested nice level: {requested_nice_level}, Actual nice level: {}",
actual_nice_level.value(),
),
Err(err) => {
eprintln!("Failed to set nice level: {err}");
}
}
}
Dependencies
| ID | Version |
|---|---|
| nix | ^0.30.1 |
| thiserror | ^2.0.12 |
| zbus | ^5.9.0 |
Keywords
rtkit
scheduling
realtime
Details
2026-01-02 14:47:37 +01:00
Assets (1)
Versions (1)
View all
Cargo
0
projects@pvv.ntnu.no
MIT
12 KiB
rtkit-client-rs-1.0.0.crate
12 KiB
1.0.0
2026-01-02