+ Reference.reachabilityFence(this);
+ Reference.reachabilityFence(val);
+ }
+
+ /**
+ * Constructs a new DirectionalChannelInfo given each field
+ */
+ public static DirectionalChannelInfo of(int last_update_arg, boolean enabled_arg, short cltv_expiry_delta_arg, long htlc_minimum_msat_arg, Option_u64Z htlc_maximum_msat_arg, RoutingFees fees_arg, ChannelUpdate last_update_message_arg) {
+ long ret = bindings.DirectionalChannelInfo_new(last_update_arg, enabled_arg, cltv_expiry_delta_arg, htlc_minimum_msat_arg, htlc_maximum_msat_arg.ptr, fees_arg == null ? 0 : fees_arg.ptr & ~1, last_update_message_arg == null ? 0 : last_update_message_arg.ptr & ~1);
+ Reference.reachabilityFence(last_update_arg);
+ Reference.reachabilityFence(enabled_arg);
+ Reference.reachabilityFence(cltv_expiry_delta_arg);
+ Reference.reachabilityFence(htlc_minimum_msat_arg);
+ Reference.reachabilityFence(htlc_maximum_msat_arg);
+ Reference.reachabilityFence(fees_arg);
+ Reference.reachabilityFence(last_update_message_arg);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ DirectionalChannelInfo ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new DirectionalChannelInfo(null, ret); }
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ long clone_ptr() {
+ long ret = bindings.DirectionalChannelInfo_clone_ptr(this.ptr);
+ Reference.reachabilityFence(this);
+ return ret;