jvmti_rs/wrapper/enums/
timer_kind.rs1use 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}