1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
7 import javax.annotation.Nullable;
11 * A simple newtype for RwLockReadGuard<'a, NetworkGraph>.
12 * This exists only to make accessing a RwLock<NetworkGraph> possible from
13 * the C bindings, as it can be done directly in Rust code.
15 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
16 public class LockedNetworkGraph extends CommonBase implements AutoCloseable {
17 LockedNetworkGraph(Object _dummy, long ptr) { super(ptr); }
18 @Override public void close() {
19 if (ptr != 0) { bindings.LockedNetworkGraph_free(ptr); }
23 * Get a reference to the NetworkGraph which this read-lock contains.
25 public NetworkGraph graph() {
26 long ret = bindings.LockedNetworkGraph_graph(this.ptr);
27 if (ret < 1024) { return null; }
28 NetworkGraph ret_hu_conv = new NetworkGraph(null, ret);
29 ret_hu_conv.ptrs_to.add(this);