jvmti_rs/wrapper/enums/
timer_kind.rs

1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiTimerKind {
5    UserCpu,
6    TotalCpu,
7    Elapsed,
8    Unsupported(sys::jvmtiTimerKind),
9}
10
11
12impl From<sys::jvmtiTimerKind> for JvmtiTimerKind {
13    fn from(value: sys::jvmtiTimerKind) -> Self {
14        match value {
15            sys::JVMTI_TIMER_USER_CPU => JvmtiTimerKind::UserCpu,
16            sys::JVMTI_TIMER_TOTAL_CPU => JvmtiTimerKind::TotalCpu,
17            sys::JVMTI_TIMER_ELAPSED => JvmtiTimerKind::Elapsed,
18            _ => JvmtiTimerKind::Unsupported(value)
19        }
20    }
21}
22
23impl From<JvmtiTimerKind> for sys::jvmtiTimerKind {
24    fn from(value: JvmtiTimerKind) -> Self {
25        match value {
26            JvmtiTimerKind::UserCpu => sys::JVMTI_TIMER_USER_CPU,
27            JvmtiTimerKind::TotalCpu => sys::JVMTI_TIMER_TOTAL_CPU,
28            JvmtiTimerKind::Elapsed => sys::JVMTI_TIMER_ELAPSED,
29            _ => sys::JVMTI_CONSTANT_UNSUPPORTED,
30        }
31    }
32}