X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FRoutingMessageHandler.java;h=bd31e4e3ac316ed51f3c45b7bdaac6b32d2dffc1;hb=ff3dacec3be60f870d81f6df11bd9fff92aa6047;hp=49a7a6c728efab711eb8655f98bec1d7f01cc367;hpb=1854b5cebef22ace9e9e4dd191f609818df9ce08;p=ldk-java diff --git a/src/main/java/org/ldk/structs/RoutingMessageHandler.java b/src/main/java/org/ldk/structs/RoutingMessageHandler.java index 49a7a6c7..bd31e4e3 100644 --- a/src/main/java/org/ldk/structs/RoutingMessageHandler.java +++ b/src/main/java/org/ldk/structs/RoutingMessageHandler.java @@ -67,7 +67,7 @@ public class RoutingMessageHandler extends CommonBase { * perform routing table synchronization using a strategy defined by the * implementor. */ - void sync_routing_table(byte[] their_node_id, Init init); + void peer_connected(byte[] their_node_id, Init init); /** * Handles the reply of a query we initiated to learn about channels * for a given range of blocks. We can expect to receive one or more @@ -99,39 +99,46 @@ public class RoutingMessageHandler extends CommonBase { @Override public long handle_node_announcement(long msg) { NodeAnnouncement msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new NodeAnnouncement(null, msg); } Result_boolLightningErrorZ ret = arg.handle_node_announcement(msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @Override public long handle_channel_announcement(long msg) { ChannelAnnouncement msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ChannelAnnouncement(null, msg); } Result_boolLightningErrorZ ret = arg.handle_channel_announcement(msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @Override public long handle_channel_update(long msg) { ChannelUpdate msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ChannelUpdate(null, msg); } Result_boolLightningErrorZ ret = arg.handle_channel_update(msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @Override public long[] get_next_channel_announcements(long starting_point, byte batch_amount) { ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ[] ret = arg.get_next_channel_announcements(starting_point, batch_amount); + Reference.reachabilityFence(arg); long[] result = ret != null ? Arrays.stream(ret).mapToLong(ret_conv_59 -> ret_conv_59 == null ? 0 : ret_conv_59.clone_ptr()).toArray() : null; return result; } @Override public long[] get_next_node_announcements(byte[] starting_point, byte batch_amount) { NodeAnnouncement[] ret = arg.get_next_node_announcements(starting_point, batch_amount); + Reference.reachabilityFence(arg); long[] result = ret != null ? Arrays.stream(ret).mapToLong(ret_conv_18 -> ret_conv_18 == null ? 0 : ret_conv_18.clone_ptr()).toArray() : null; return result; } - @Override public void sync_routing_table(byte[] their_node_id, long init) { + @Override public void peer_connected(byte[] their_node_id, long init) { Init init_hu_conv = null; if (init < 0 || init > 4096) { init_hu_conv = new Init(null, init); } - arg.sync_routing_table(their_node_id, init_hu_conv); + arg.peer_connected(their_node_id, init_hu_conv); + Reference.reachabilityFence(arg); } @Override public long handle_reply_channel_range(byte[] their_node_id, long msg) { ReplyChannelRange msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ReplyChannelRange(null, msg); } msg_hu_conv.ptrs_to.add(this); Result_NoneLightningErrorZ ret = arg.handle_reply_channel_range(their_node_id, msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @@ -139,6 +146,7 @@ public class RoutingMessageHandler extends CommonBase { ReplyShortChannelIdsEnd msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ReplyShortChannelIdsEnd(null, msg); } msg_hu_conv.ptrs_to.add(this); Result_NoneLightningErrorZ ret = arg.handle_reply_short_channel_ids_end(their_node_id, msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @@ -146,6 +154,7 @@ public class RoutingMessageHandler extends CommonBase { QueryChannelRange msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new QueryChannelRange(null, msg); } msg_hu_conv.ptrs_to.add(this); Result_NoneLightningErrorZ ret = arg.handle_query_channel_range(their_node_id, msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @@ -153,6 +162,7 @@ public class RoutingMessageHandler extends CommonBase { QueryShortChannelIds msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new QueryShortChannelIds(null, msg); } msg_hu_conv.ptrs_to.add(this); Result_NoneLightningErrorZ ret = arg.handle_query_short_channel_ids(their_node_id, msg_hu_conv); + Reference.reachabilityFence(arg); long result = ret == null ? 0 : ret.clone_ptr(); return result; } @@ -221,8 +231,9 @@ public class RoutingMessageHandler extends CommonBase { Reference.reachabilityFence(this); Reference.reachabilityFence(starting_point); Reference.reachabilityFence(batch_amount); - ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ[] ret_conv_59_arr = new ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ[ret.length]; - for (int h = 0; h < ret.length; h++) { + int ret_conv_59_len = ret.length; + ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ[] ret_conv_59_arr = new ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ[ret_conv_59_len]; + for (int h = 0; h < ret_conv_59_len; h++) { long ret_conv_59 = ret[h]; ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ ret_conv_59_hu_conv = new ThreeTuple_ChannelAnnouncementChannelUpdateChannelUpdateZ(null, ret_conv_59); ret_conv_59_hu_conv.ptrs_to.add(this); @@ -244,8 +255,9 @@ public class RoutingMessageHandler extends CommonBase { Reference.reachabilityFence(this); Reference.reachabilityFence(starting_point); Reference.reachabilityFence(batch_amount); - NodeAnnouncement[] ret_conv_18_arr = new NodeAnnouncement[ret.length]; - for (int s = 0; s < ret.length; s++) { + int ret_conv_18_len = ret.length; + NodeAnnouncement[] ret_conv_18_arr = new NodeAnnouncement[ret_conv_18_len]; + for (int s = 0; s < ret_conv_18_len; s++) { long ret_conv_18 = ret[s]; NodeAnnouncement ret_conv_18_hu_conv = null; if (ret_conv_18 < 0 || ret_conv_18 > 4096) { ret_conv_18_hu_conv = new NodeAnnouncement(null, ret_conv_18); } ret_conv_18_hu_conv.ptrs_to.add(this); @@ -259,8 +271,8 @@ public class RoutingMessageHandler extends CommonBase { * perform routing table synchronization using a strategy defined by the * implementor. */ - public void sync_routing_table(byte[] their_node_id, Init init) { - bindings.RoutingMessageHandler_sync_routing_table(this.ptr, InternalUtils.check_arr_len(their_node_id, 33), init == null ? 0 : init.ptr & ~1); + public void peer_connected(byte[] their_node_id, Init init) { + bindings.RoutingMessageHandler_peer_connected(this.ptr, InternalUtils.check_arr_len(their_node_id, 33), init == null ? 0 : init.ptr & ~1); Reference.reachabilityFence(this); Reference.reachabilityFence(their_node_id); Reference.reachabilityFence(init);