[![Docs](https://img.shields.io/badge/docs-blue?style=for-the-badge&logo=rust)](https://pages.pvv.ntnu.no/Projects/rtkit-client-rs/main/docs/rtkit_client_rs/) # 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 ```rust 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); } } } ```