aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java b/vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java
index 1ae3bc590e2..ea735046843 100644
--- a/vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java
+++ b/vespajlib/src/main/java/com/yahoo/nativec/MallInfo2.java
@@ -2,7 +2,12 @@ package com.yahoo.nativec;
import com.sun.jna.Structure;
-public class MallInfo2 {
+/**
+ * Gives access to the information provided by the C library mallinfo2() function.
+ *
+ * @author baldersheim
+ */
+public class MallInfo2 extends NativeHeap {
private final static Throwable initException = NativeC.loadLibrary(MallInfo2.class);
public static Throwable init() {
return initException;
@@ -23,8 +28,24 @@ public class MallInfo2 {
public long keepcost; /* Top-most, releasable space (bytes) */
}
private static native MallInfo2Struct.ByValue mallinfo2();
+ private final MallInfo2Struct mallinfo;
+
public MallInfo2() {
mallinfo = mallinfo2();
}
- private final MallInfo2Struct mallinfo;
+
+ @Override
+ public long usedSize() {
+ return mallinfo.uordblks;
+ }
+
+ @Override
+ public long totalSize() {
+ return mallinfo.arena;
+ }
+
+ @Override
+ public long availableSize() {
+ return mallinfo.fordblks;
+ }
}