1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/common/process.h>
7 #include <jni.h>
8
9 #include "java_class_ids.h"
10
11 JNIEXPORT
Java_software_amazon_awssdk_crt_Process_processGetPid(JNIEnv * env,jclass jni_crt_class)12 jint JNICALL Java_software_amazon_awssdk_crt_Process_processGetPid(JNIEnv *env, jclass jni_crt_class) {
13 (void)jni_crt_class;
14 aws_cache_jni_ids(env);
15
16 return (jint)aws_get_pid();
17 }
18
19 JNIEXPORT
20 jlong JNICALL
Java_software_amazon_awssdk_crt_Process_processGetMaxIOHandlesSoftLimit(JNIEnv * env,jclass jni_crt_class)21 Java_software_amazon_awssdk_crt_Process_processGetMaxIOHandlesSoftLimit(JNIEnv *env, jclass jni_crt_class) {
22 (void)jni_crt_class;
23 aws_cache_jni_ids(env);
24
25 return (jlong)aws_get_soft_limit_io_handles();
26 }
27
28 JNIEXPORT
29 jlong JNICALL
Java_software_amazon_awssdk_crt_Process_processGetMaxIOHandlesHardLimit(JNIEnv * env,jclass jni_crt_class)30 Java_software_amazon_awssdk_crt_Process_processGetMaxIOHandlesHardLimit(JNIEnv *env, jclass jni_crt_class) {
31 (void)jni_crt_class;
32 aws_cache_jni_ids(env);
33
34 return (jlong)aws_get_hard_limit_io_handles();
35 }
36
37 JNIEXPORT
Java_software_amazon_awssdk_crt_Process_processSetMaxIOHandlesSoftLimit(JNIEnv * env,jclass jni_crt_class,jlong max_handles)38 jboolean JNICALL Java_software_amazon_awssdk_crt_Process_processSetMaxIOHandlesSoftLimit(
39 JNIEnv *env,
40 jclass jni_crt_class,
41 jlong max_handles) {
42 (void)jni_crt_class;
43 (void)max_handles;
44 aws_cache_jni_ids(env);
45
46 return aws_set_soft_limit_io_handles((size_t)max_handles) == AWS_OP_SUCCESS;
47 }
48