[Java] Update auto-generated bindings to 0.0.105.0
[ldk-java] / src / main / java / org / ldk / structs / Listen.java
index 456b44f8372fce25568e66bbbccf42845729cea7..8d5972171401f37d055c1b182118b076700b67a6 100644 (file)
@@ -4,12 +4,17 @@ 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;
 
 /**
- * The `Listen` trait is used to be notified of when blocks have been connected or disconnected
- * from the chain.
+ * The `Listen` trait is used to notify when blocks have been connected or disconnected from the
+ * chain.
  * 
- * Useful when needing to replay chain data upon startup or as new chain events occur.
+ * Useful when needing to replay chain data upon startup or as new chain events occur. Clients
+ * sourcing chain data using a block-oriented API should prefer this interface over [`Confirm`].
+ * Such clients fetch the entire header chain whereas clients using [`Confirm`] only fetch headers
+ * when needed.
  */
 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class Listen extends CommonBase {
@@ -41,9 +46,11 @@ public class Listen extends CommonBase {
                impl_holder.held = new Listen(new bindings.LDKListen() {
                        @Override public void block_connected(byte[] block, int height) {
                                arg.block_connected(block, height);
+                               Reference.reachabilityFence(arg);
                        }
                        @Override public void block_disconnected(byte[] header, int height) {
                                arg.block_disconnected(header, height);
+                               Reference.reachabilityFence(arg);
                        }
                });
                return impl_holder.held;
@@ -53,13 +60,19 @@ public class Listen extends CommonBase {
         */
        public void block_connected(byte[] block, int height) {
                bindings.Listen_block_connected(this.ptr, block, height);
+               Reference.reachabilityFence(this);
+               Reference.reachabilityFence(block);
+               Reference.reachabilityFence(height);
        }
 
        /**
         * Notifies the listener that a block was removed at the given height.
         */
        public void block_disconnected(byte[] header, int height) {
-               bindings.Listen_block_disconnected(this.ptr, header, height);
+               bindings.Listen_block_disconnected(this.ptr, InternalUtils.check_arr_len(header, 80), height);
+               Reference.reachabilityFence(this);
+               Reference.reachabilityFence(header);
+               Reference.reachabilityFence(height);
        }
 
 }