Improve example
Some checks failed
Build and test / docs (push) Has been cancelled
Build and test / build (push) Has been cancelled
Build and test / check (push) Has been cancelled

This commit is contained in:
2026-01-02 22:35:34 +09:00
parent 3d7da7121a
commit 177a9cbcff
2 changed files with 32 additions and 16 deletions

View File

@@ -12,7 +12,7 @@ This interface lets you request real-time scheduling for one or more threads.
use nix::unistd::gettid; use nix::unistd::gettid;
use std::thread; use std::thread;
use rtkit_client_rs::{set_current_thread_priority, Error}; use rtkit_client_rs::{set_current_thread_nice_level, set_current_thread_priority};
fn main() { fn main() {
println!("Main tid: {}", gettid()); println!("Main tid: {}", gettid());
@@ -25,19 +25,27 @@ fn important_thread() {
let requested_priority = 40; let requested_priority = 40;
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap())); let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
match actual_priority { match actual_priority {
Ok(actual_priority) => println!("Requested priority: {requested_priority}, Actual priority: {}", actual_priority.value()), Ok(actual_priority) => println!(
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"), "Requested priority: {requested_priority}, Actual priority: {}",
Err(e) => println!("Internal zbus error: {e}"), actual_priority.value(),
),
Err(err) => {
eprintln!("Failed to set priority: {}", err);
}
} }
let requested_nice_level = -10; let requested_nice_level = -10;
let actual_nice_level = rtkit_client_rs::set_current_thread_nice_level(Some( let actual_nice_level = set_current_thread_nice_level(Some(
requested_nice_level.try_into().unwrap(), requested_nice_level.try_into().unwrap(),
)); ));
match actual_nice_level { match actual_nice_level {
Ok(actual_nice_level) => println!("Requested nice level: {requested_nice_level}, Actual nice level: {}", actual_nice_level.value()), Ok(actual_nice_level) => println!(
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"), "Requested nice level: {requested_nice_level}, Actual nice level: {}",
Err(e) => println!("Internal zbus error: {e}"), actual_nice_level.value(),
),
Err(err) => {
eprintln!("Failed to set nice level: {}", err);
}
} }
} }
``` ```

View File

@@ -1,7 +1,7 @@
use nix::unistd::gettid; use nix::unistd::gettid;
use std::thread; use std::thread;
use rtkit_client_rs::{set_current_thread_priority, Error}; use rtkit_client_rs::{set_current_thread_nice_level, set_current_thread_priority};
fn main() { fn main() {
println!("Main tid: {}", gettid()); println!("Main tid: {}", gettid());
@@ -14,18 +14,26 @@ fn important_thread() {
let requested_priority = 40; let requested_priority = 40;
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap())); let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
match actual_priority { match actual_priority {
Ok(actual_priority) => println!("Requested priority: {requested_priority}, Actual priority: {}", actual_priority.value()), Ok(actual_priority) => println!(
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"), "Requested priority: {requested_priority}, Actual priority: {}",
Err(e) => println!("Internal zbus error: {e}"), actual_priority.value(),
),
Err(err) => {
eprintln!("Failed to set priority: {}", err);
}
} }
let requested_nice_level = -10; let requested_nice_level = -10;
let actual_nice_level = rtkit_client_rs::set_current_thread_nice_level(Some( let actual_nice_level = set_current_thread_nice_level(Some(
requested_nice_level.try_into().unwrap(), requested_nice_level.try_into().unwrap(),
)); ));
match actual_nice_level { match actual_nice_level {
Ok(actual_nice_level) => println!("Requested nice level: {requested_nice_level}, Actual nice level: {}", actual_nice_level.value()), Ok(actual_nice_level) => println!(
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"), "Requested nice level: {requested_nice_level}, Actual nice level: {}",
Err(e) => println!("Internal zbus error: {e}"), actual_nice_level.value(),
),
Err(err) => {
eprintln!("Failed to set nice level: {}", err);
}
} }
} }