jvmti_rs/wrapper/enums/
thread_state_java_lang.rs1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiJavaLangThreadState {
5 Mask,
6 New,
7 Terminated,
8 Runnable,
9 Blocked,
10 Waiting,
11 TimedWaiting,
12 Unsupported(sys::jvmtiJavaLangThreadState),
13}
14
15impl From<sys::jvmtiJavaLangThreadState> for JvmtiJavaLangThreadState {
16 fn from(value: sys::jvmtiJavaLangThreadState) -> Self {
17 match value {
18 sys::JVMTI_JAVA_LANG_THREAD_STATE_MASK => JvmtiJavaLangThreadState::Mask,
19 sys::JVMTI_JAVA_LANG_THREAD_STATE_NEW => JvmtiJavaLangThreadState::New,
20 sys::JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED => JvmtiJavaLangThreadState::Terminated,
21 sys::JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE => JvmtiJavaLangThreadState::Runnable,
22 sys::JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED => JvmtiJavaLangThreadState::Blocked,
23 sys::JVMTI_JAVA_LANG_THREAD_STATE_WAITING => JvmtiJavaLangThreadState::Waiting,
24 sys::JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING => JvmtiJavaLangThreadState::TimedWaiting,
25 _ => JvmtiJavaLangThreadState::Unsupported(value)
26 }
27 }
28}
29
30impl From<JvmtiJavaLangThreadState> for sys::jvmtiJavaLangThreadState {
31 fn from(value: JvmtiJavaLangThreadState) -> Self {
32 match value {
33 JvmtiJavaLangThreadState::Mask => sys::JVMTI_JAVA_LANG_THREAD_STATE_MASK,
34 JvmtiJavaLangThreadState::New => sys::JVMTI_JAVA_LANG_THREAD_STATE_NEW,
35 JvmtiJavaLangThreadState::Terminated => sys::JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED,
36 JvmtiJavaLangThreadState::Runnable => sys::JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE,
37 JvmtiJavaLangThreadState::Blocked => sys::JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED,
38 JvmtiJavaLangThreadState::Waiting => sys::JVMTI_JAVA_LANG_THREAD_STATE_WAITING,
39 JvmtiJavaLangThreadState::TimedWaiting => sys::JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING,
40 _ => sys::JVMTI_CONSTANT_UNSUPPORTED,
41 }
42 }
43}