X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FReadOnlyNetworkGraph.java;h=1d82f25b45249244e92b47814f34c8dc605b5d5a;hb=8a515be62568ee4327e636a977e32204006d6493;hp=d95374dae145d04d1284bab846618467ad70cd3c;hpb=c6bac88847b7c09560af81f00ba8dd3c2ebe3a19;p=ldk-java diff --git a/src/main/java/org/ldk/structs/ReadOnlyNetworkGraph.java b/src/main/java/org/ldk/structs/ReadOnlyNetworkGraph.java index d95374da..1d82f25b 100644 --- a/src/main/java/org/ldk/structs/ReadOnlyNetworkGraph.java +++ b/src/main/java/org/ldk/structs/ReadOnlyNetworkGraph.java @@ -4,6 +4,7 @@ import org.ldk.impl.bindings; import org.ldk.enums.*; import org.ldk.util.*; import java.util.Arrays; +import java.lang.ref.Reference; import javax.annotation.Nullable; @@ -11,11 +12,9 @@ import javax.annotation.Nullable; * A read-only view of [`NetworkGraph`]. */ @SuppressWarnings("unchecked") // We correctly assign various generic arrays -public class ReadOnlyNetworkGraph extends CommonBase { +public class ReadOnlyNetworkGraph extends CommonBase implements AutoCloseable { ReadOnlyNetworkGraph(Object _dummy, long ptr) { super(ptr); } - @Override @SuppressWarnings("deprecation") - protected void finalize() throws Throwable { - super.finalize(); + @Override public void close() { if (ptr != 0) { bindings.ReadOnlyNetworkGraph_free(ptr); } } @@ -25,9 +24,11 @@ public class ReadOnlyNetworkGraph extends CommonBase { * or if node announcement for the node was never received. */ public Option_CVec_NetAddressZZ get_addresses(byte[] pubkey) { - long ret = bindings.ReadOnlyNetworkGraph_get_addresses(this.ptr, pubkey); + long ret = bindings.ReadOnlyNetworkGraph_get_addresses(this.ptr, InternalUtils.check_arr_len(pubkey, 33)); + Reference.reachabilityFence(this); + Reference.reachabilityFence(pubkey); if (ret >= 0 && ret <= 4096) { return null; } - Option_CVec_NetAddressZZ ret_hu_conv = Option_CVec_NetAddressZZ.constr_from_ptr(ret); + org.ldk.structs.Option_CVec_NetAddressZZ ret_hu_conv = org.ldk.structs.Option_CVec_NetAddressZZ.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(this); return ret_hu_conv; }