X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FScore.java;h=347edf6a216a667260df941ad19deff156f67b2d;hb=8f5edad2f310a130b658e1b530fe2516724c4d99;hp=9758decc500b6e805911ed5a530351eca042c19d;hpb=2a8741cb87eb2b82381a6220a98f80f741147837;p=ldk-java diff --git a/src/main/java/org/ldk/structs/Score.java b/src/main/java/org/ldk/structs/Score.java index 9758decc..347edf6a 100644 --- a/src/main/java/org/ldk/structs/Score.java +++ b/src/main/java/org/ldk/structs/Score.java @@ -46,6 +46,14 @@ public class Score extends CommonBase { * Handles updating channel penalties after successfully routing along a path. */ void payment_path_successful(RouteHop[] path); + /** + * Handles updating channel penalties after a probe over the given path failed. + */ + void probe_failed(RouteHop[] path, long short_channel_id); + /** + * Handles updating channel penalties after a probe over the given path succeeded. + */ + void probe_successful(RouteHop[] path); /** * Serialize the object into a byte array */ @@ -88,6 +96,30 @@ public class Score extends CommonBase { arg.payment_path_successful(path_conv_10_arr); Reference.reachabilityFence(arg); } + @Override public void probe_failed(long[] path, long short_channel_id) { + int path_conv_10_len = path.length; + RouteHop[] path_conv_10_arr = new RouteHop[path_conv_10_len]; + for (int k = 0; k < path_conv_10_len; k++) { + long path_conv_10 = path[k]; + org.ldk.structs.RouteHop path_conv_10_hu_conv = null; if (path_conv_10 < 0 || path_conv_10 > 4096) { path_conv_10_hu_conv = new org.ldk.structs.RouteHop(null, path_conv_10); } + path_conv_10_hu_conv.ptrs_to.add(this); + path_conv_10_arr[k] = path_conv_10_hu_conv; + } + arg.probe_failed(path_conv_10_arr, short_channel_id); + Reference.reachabilityFence(arg); + } + @Override public void probe_successful(long[] path) { + int path_conv_10_len = path.length; + RouteHop[] path_conv_10_arr = new RouteHop[path_conv_10_len]; + for (int k = 0; k < path_conv_10_len; k++) { + long path_conv_10 = path[k]; + org.ldk.structs.RouteHop path_conv_10_hu_conv = null; if (path_conv_10 < 0 || path_conv_10 > 4096) { path_conv_10_hu_conv = new org.ldk.structs.RouteHop(null, path_conv_10); } + path_conv_10_hu_conv.ptrs_to.add(this); + path_conv_10_arr[k] = path_conv_10_hu_conv; + } + arg.probe_successful(path_conv_10_arr); + Reference.reachabilityFence(arg); + } @Override public byte[] write() { byte[] ret = arg.write(); Reference.reachabilityFence(arg); @@ -137,6 +169,25 @@ public class Score extends CommonBase { Reference.reachabilityFence(path); } + /** + * Handles updating channel penalties after a probe over the given path failed. + */ + public void probe_failed(RouteHop[] path, long short_channel_id) { + bindings.Score_probe_failed(this.ptr, path != null ? Arrays.stream(path).mapToLong(path_conv_10 -> path_conv_10 == null ? 0 : path_conv_10.ptr & ~1).toArray() : null, short_channel_id); + Reference.reachabilityFence(this); + Reference.reachabilityFence(path); + Reference.reachabilityFence(short_channel_id); + } + + /** + * Handles updating channel penalties after a probe over the given path succeeded. + */ + public void probe_successful(RouteHop[] path) { + bindings.Score_probe_successful(this.ptr, path != null ? Arrays.stream(path).mapToLong(path_conv_10 -> path_conv_10 == null ? 0 : path_conv_10.ptr & ~1).toArray() : null); + Reference.reachabilityFence(this); + Reference.reachabilityFence(path); + } + /** * Serialize the object into a byte array */