+ Reference.reachabilityFence(this);
+ Reference.reachabilityFence(short_channel_id);
+ Reference.reachabilityFence(is_permanent);
+ }
+
+ /**
+ * Marks a node in the graph as failed.
+ */
+ public void fail_node(byte[] _node_id, boolean is_permanent) {
+ bindings.NetworkGraph_fail_node(this.ptr, InternalUtils.check_arr_len(_node_id, 33), is_permanent);
+ Reference.reachabilityFence(this);
+ Reference.reachabilityFence(_node_id);
+ Reference.reachabilityFence(is_permanent);
+ }
+
+ /**
+ * Removes information about channels that we haven't heard any updates about in some time.
+ * This can be used regularly to prune the network graph of channels that likely no longer
+ * exist.
+ *
+ * While there is no formal requirement that nodes regularly re-broadcast their channel
+ * updates every two weeks, the non-normative section of BOLT 7 currently suggests that
+ * pruning occur for updates which are at least two weeks old, which we implement here.
+ *
+ * Note that for users of the `lightning-background-processor` crate this method may be
+ * automatically called regularly for you.
+ *
+ * This method is only available with the `std` feature. See
+ * [`NetworkGraph::remove_stale_channels_with_time`] for `no-std` use.
+ */
+ public void remove_stale_channels() {
+ bindings.NetworkGraph_remove_stale_channels(this.ptr);
+ Reference.reachabilityFence(this);
+ }
+
+ /**
+ * Removes information about channels that we haven't heard any updates about in some time.
+ * This can be used regularly to prune the network graph of channels that likely no longer
+ * exist.
+ *
+ * While there is no formal requirement that nodes regularly re-broadcast their channel
+ * updates every two weeks, the non-normative section of BOLT 7 currently suggests that
+ * pruning occur for updates which are at least two weeks old, which we implement here.
+ *
+ * This function takes the current unix time as an argument. For users with the `std` feature
+ * enabled, [`NetworkGraph::remove_stale_channels`] may be preferable.
+ */
+ public void remove_stale_channels_with_time(long current_time_unix) {
+ bindings.NetworkGraph_remove_stale_channels_with_time(this.ptr, current_time_unix);
+ Reference.reachabilityFence(this);
+ Reference.reachabilityFence(current_time_unix);