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();