From b1ba617951bbe2b25caf7b1273f92b748f3f94f0 Mon Sep 17 00:00:00 2001 From: maalej Date: Mon, 6 Oct 2025 06:45:10 +0200 Subject: [PATCH] Issue #60 Add free resources method to offline snmp client * Update ISnmpClient, OfflineSnmpClient and SnmpClient --- src/main/java/org/metricshub/snmp/client/ISnmpClient.java | 5 +++++ .../java/org/metricshub/snmp/client/OfflineSnmpClient.java | 5 +++++ src/main/java/org/metricshub/snmp/client/SnmpClient.java | 1 + 3 files changed, 11 insertions(+) diff --git a/src/main/java/org/metricshub/snmp/client/ISnmpClient.java b/src/main/java/org/metricshub/snmp/client/ISnmpClient.java index 9ff1463..53c1a89 100644 --- a/src/main/java/org/metricshub/snmp/client/ISnmpClient.java +++ b/src/main/java/org/metricshub/snmp/client/ISnmpClient.java @@ -73,4 +73,9 @@ default String stripDot(String s) { * @throws Exception on error (e.g. no such OID). */ String walk(String oid) throws Exception; + + /** + * Frees any resources held by the client, such as network connections or file handles or memory space. + */ + void freeResources(); } diff --git a/src/main/java/org/metricshub/snmp/client/OfflineSnmpClient.java b/src/main/java/org/metricshub/snmp/client/OfflineSnmpClient.java index 24d124b..4006d2b 100644 --- a/src/main/java/org/metricshub/snmp/client/OfflineSnmpClient.java +++ b/src/main/java/org/metricshub/snmp/client/OfflineSnmpClient.java @@ -199,4 +199,9 @@ public String walk(String oid) { return walkResult.toString(); } + + @Override + public void freeResources() { + oidValues.clear(); + } } \ No newline at end of file diff --git a/src/main/java/org/metricshub/snmp/client/SnmpClient.java b/src/main/java/org/metricshub/snmp/client/SnmpClient.java index a2f4c1e..862f498 100644 --- a/src/main/java/org/metricshub/snmp/client/SnmpClient.java +++ b/src/main/java/org/metricshub/snmp/client/SnmpClient.java @@ -305,6 +305,7 @@ else if (snmpVersion == SNMP_V3) { * Releases the resources associated to this instance * (or so at least we believe...) */ + @Override public void freeResources() { if (contextv1 != null) { contextv1.destroy();