jvmti_rs/wrapper/enums/
thread_priority.rs

1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiThreadPriority {
5    Min,
6    Norm,
7    Max,
8    Unsupported(sys::jvmtiThreadPriority),
9}
10
11impl From<sys::jvmtiThreadPriority> for JvmtiThreadPriority {
12    fn from(value: sys::jvmtiThreadPriority) -> Self {
13        match value {
14            sys::JVMTI_THREAD_MIN_PRIORITY => JvmtiThreadPriority::Min,
15            sys::JVMTI_THREAD_NORM_PRIORITY => JvmtiThreadPriority::Norm,
16            sys::JVMTI_THREAD_MAX_PRIORITY => JvmtiThreadPriority::Max,
17            _ => JvmtiThreadPriority::Unsupported(value)
18        }
19    }
20}
21
22impl From<JvmtiThreadPriority> for sys::jvmtiThreadPriority {
23    fn from(value: JvmtiThreadPriority) -> Self {
24        match value {
25            JvmtiThreadPriority::Min => sys::JVMTI_THREAD_MIN_PRIORITY,
26            JvmtiThreadPriority::Norm => sys::JVMTI_THREAD_NORM_PRIORITY,
27            JvmtiThreadPriority::Max => sys::JVMTI_THREAD_MAX_PRIORITY,
28            _ => sys::JVMTI_CONSTANT_UNSUPPORTED as i32,
29        }
30    }
31}