h7x4 1780114b6b
All checks were successful
Build and test / check (push) Successful in 10m40s
Build and test / build (push) Successful in 10m52s
Build and test / docs (push) Successful in 12m31s
README: keep usage copy
2026-01-02 22:14:34 +09:00
2026-01-02 21:42:06 +09:00
2026-01-02 21:42:06 +09:00
2026-01-02 21:42:06 +09:00
2026-01-02 21:42:06 +09:00
2026-01-02 22:14:34 +09:00

Docs

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_priority, Error};

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(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
        Err(e) => println!("Internal zbus error: {e}"),
    }

    let requested_nice_level = -10;
    let actual_nice_level = rtkit_client_rs::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(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
        Err(e) => println!("Internal zbus error: {e}"),
    }
}
Description
Client library for asking rtkit nicely for faster scheduling
Readme MIT 96 KiB
2026-01-02 14:46:39 +01:00
Languages
Rust 91%
Nix 9%