summaryrefslogtreecommitdiffstats
path: root/java/jvpp-stats/jvpp_stats.c
diff options
context:
space:
mode:
Diffstat (limited to 'java/jvpp-stats/jvpp_stats.c')
-rw-r--r--java/jvpp-stats/jvpp_stats.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/java/jvpp-stats/jvpp_stats.c b/java/jvpp-stats/jvpp_stats.c
index 404fe0a..78d69f5 100644
--- a/java/jvpp-stats/jvpp_stats.c
+++ b/java/jvpp-stats/jvpp_stats.c
@@ -47,15 +47,8 @@ void set_field(int_stats_t* stats, int index, const char* field_name, int packet
stat_segment_data_t* get_statistics_dump() {
u8 **patterns = 0;
u32 *dir;
- u8 * stat_segment_name = (u8 *) STAT_SEGMENT_SOCKET_FILE;
vec_add1(patterns, (u8*)"/if/rx");
vec_add1(patterns, (u8*)"/if/tx");
- int rv = stat_segment_connect((char*)stat_segment_name);
- if (rv < 0) {
- fprintf(stderr, "Couldn't connect to %s. Check if socket exists/permissions.(ret stat: %d)\n",
- stat_segment_name, rv);
- return NULL;
- }
dir = stat_segment_ls(patterns);
return stat_segment_dump(dir);
}
@@ -125,3 +118,19 @@ JNIEXPORT jobjectArray JNICALL Java_io_fd_jvpp_stats_JVppClientStatsImpl_interfa
}
return retArray;
}
+
+JNIEXPORT jint JNICALL Java_io_fd_jvpp_stats_JVppClientStatsImpl_statSegmentConnect(JNIEnv *env, jclass jclazz) {
+ u8 * stat_segment_name = (u8 *) STAT_SEGMENT_SOCKET_FILE;
+ int rv = stat_segment_connect((char*)stat_segment_name);
+ if (rv < 0) {
+ fprintf(stderr, "Couldn't connect to %s. Check if socket exists/permissions.(ret stat: %d)\n",
+ stat_segment_name, rv);
+ return -1;
+ }
+ return 0;
+}
+
+JNIEXPORT void JNICALL Java_io_fd_jvpp_stats_JVppClientStatsImpl_statSegmentDisconnect(JNIEnv *env, jclass jclazz) {
+ stat_segment_disconnect();
+ return;
+}