[Java] Update auto-generated bindings to 0.0.115
[ldk-java] / src / main / java / org / ldk / structs / Retry.java
index 452044df996ca29798d74953adf0d0cdb2aadcf0..fe0799eeb55409710fdb154b960a05700eb37874 100644 (file)
@@ -9,7 +9,7 @@ import javax.annotation.Nullable;
 
 
 /**
- * Strategies available to retry payment path failures for an [`Invoice`].
+ * Strategies available to retry payment path failures.
  */
 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class Retry extends CommonBase {
@@ -33,9 +33,9 @@ public class Retry extends CommonBase {
        /**
         * Max number of attempts to retry payment.
         * 
-        * Note that this is the number of *path* failures, not full payment retries. For multi-path
-        * payments, if this is less than the total number of paths, we will never even retry all of the
-        * payment's paths.
+        * Each attempt may be multiple HTLCs along multiple paths if the router decides to split up a
+        * retry, and may retry multiple failed HTLCs at once if they failed around the same time and
+        * were retried along a route from a single call to [`Router::find_route_with_id`].
         */
        public final static class Attempts extends Retry {
                public final long attempts;
@@ -45,7 +45,10 @@ public class Retry extends CommonBase {
                }
        }
        /**
-        * Time elapsed before abandoning retries for a payment.
+        * Time elapsed before abandoning retries for a payment. At least one attempt at payment is made;
+        * see [`PaymentParameters::expiry_time`] to avoid any attempt at payment after a specific time.
+        * 
+        * [`PaymentParameters::expiry_time`]: crate::routing::router::PaymentParameters::expiry_time
         */
        public final static class Timeout extends Retry {
                public final long timeout;
@@ -68,7 +71,7 @@ public class Retry extends CommonBase {
                Reference.reachabilityFence(this);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.Retry ret_hu_conv = org.ldk.structs.Retry.constr_from_ptr(ret);
-               ret_hu_conv.ptrs_to.add(this);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
                return ret_hu_conv;
        }
 
@@ -80,7 +83,7 @@ public class Retry extends CommonBase {
                Reference.reachabilityFence(a);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.Retry ret_hu_conv = org.ldk.structs.Retry.constr_from_ptr(ret);
-               ret_hu_conv.ptrs_to.add(ret_hu_conv);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
                return ret_hu_conv;
        }
 
@@ -92,7 +95,7 @@ public class Retry extends CommonBase {
                Reference.reachabilityFence(a);
                if (ret >= 0 && ret <= 4096) { return null; }
                org.ldk.structs.Retry ret_hu_conv = org.ldk.structs.Retry.constr_from_ptr(ret);
-               ret_hu_conv.ptrs_to.add(ret_hu_conv);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
                return ret_hu_conv;
        }
 
@@ -100,7 +103,7 @@ public class Retry extends CommonBase {
         * Checks if two Retrys contain equal inner contents.
         * This ignores pointers and is_owned flags and looks at the values in fields.
         */
-       public boolean eq(Retry b) {
+       public boolean eq(org.ldk.structs.Retry b) {
                boolean ret = bindings.Retry_eq(this.ptr, b == null ? 0 : b.ptr);
                Reference.reachabilityFence(this);
                Reference.reachabilityFence(b);
@@ -112,7 +115,7 @@ public class Retry extends CommonBase {
                return this.eq((Retry)o);
        }
        /**
-        * Checks if two Retrys contain equal inner contents.
+        * Generates a non-cryptographic 64-bit hash of the Retry.
         */
        public long hash() {
                long ret = bindings.Retry_hash(this.ptr);