jvmti_rs/wrapper/enums/
thread_state_java_lang.rs

1use 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}