jvmti_rs/wrapper/enums/
resource_exhausted.rs

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