X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FRapidGossipSync.java;h=46cd9b5b781865f9a420c0a1279db107564c2623;hb=8fa2bcb208a51fa352d04981f1387d8bceced107;hp=cb5d67015780d8553a9ddea9321b507df2043104;hpb=0de4267b2f4dd9a0b2b2dfab7efc788887894a33;p=ldk-java diff --git a/src/main/java/org/ldk/structs/RapidGossipSync.java b/src/main/java/org/ldk/structs/RapidGossipSync.java index cb5d6701..46cd9b5b 100644 --- a/src/main/java/org/ldk/structs/RapidGossipSync.java +++ b/src/main/java/org/ldk/structs/RapidGossipSync.java @@ -27,21 +27,38 @@ public class RapidGossipSync extends CommonBase { /** * Instantiate a new [`RapidGossipSync`] instance. */ - public static RapidGossipSync of(NetworkGraph network_graph) { - long ret = bindings.RapidGossipSync_new(network_graph == null ? 0 : network_graph.ptr); + public static RapidGossipSync of(org.ldk.structs.NetworkGraph network_graph, org.ldk.structs.Logger logger) { + long ret = bindings.RapidGossipSync_new(network_graph == null ? 0 : network_graph.ptr, logger.ptr); Reference.reachabilityFence(network_graph); + Reference.reachabilityFence(logger); if (ret >= 0 && ret <= 4096) { return null; } org.ldk.structs.RapidGossipSync ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.RapidGossipSync(null, ret); } if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); }; if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(network_graph); }; + if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(logger); }; return ret_hu_conv; } /** - * Update network graph from binary data. + * Sync gossip data from a file. * Returns the last sync timestamp to be used the next time rapid sync data is queried. * - * `network_graph`: network graph to be updated + * `network_graph`: The network graph to apply the updates to + * + * `sync_path`: Path to the file where the gossip update data is located + */ + public Result_u32GraphSyncErrorZ sync_network_graph_with_file_path(java.lang.String sync_path) { + long ret = bindings.RapidGossipSync_sync_network_graph_with_file_path(this.ptr, sync_path); + Reference.reachabilityFence(this); + Reference.reachabilityFence(sync_path); + if (ret >= 0 && ret <= 4096) { return null; } + Result_u32GraphSyncErrorZ ret_hu_conv = Result_u32GraphSyncErrorZ.constr_from_ptr(ret); + return ret_hu_conv; + } + + /** + * Update network graph from binary data. + * Returns the last sync timestamp to be used the next time rapid sync data is queried. * * `update_data`: `&[u8]` binary stream that comprises the update data */ @@ -54,6 +71,24 @@ public class RapidGossipSync extends CommonBase { return ret_hu_conv; } + /** + * Update network graph from binary data. + * Returns the last sync timestamp to be used the next time rapid sync data is queried. + * + * `update_data`: `&[u8]` binary stream that comprises the update data + * `current_time_unix`: `Option` optional current timestamp to verify data age + */ + public Result_u32GraphSyncErrorZ update_network_graph_no_std(byte[] update_data, org.ldk.structs.Option_u64Z current_time_unix) { + long ret = bindings.RapidGossipSync_update_network_graph_no_std(this.ptr, update_data, current_time_unix.ptr); + Reference.reachabilityFence(this); + Reference.reachabilityFence(update_data); + Reference.reachabilityFence(current_time_unix); + if (ret >= 0 && ret <= 4096) { return null; } + Result_u32GraphSyncErrorZ ret_hu_conv = Result_u32GraphSyncErrorZ.constr_from_ptr(ret); + if (this != null) { this.ptrs_to.add(current_time_unix); }; + return ret_hu_conv; + } + /** * Returns whether a rapid gossip sync has completed at least once. */