X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FMessageSendEvent.java;h=4d9633c153758dc808bb2e5637bb220e1c5c1913;hb=ff3dacec3be60f870d81f6df11bd9fff92aa6047;hp=cd30a1a62601c4de79fad085a5381aca7993d267;hpb=a7653cf8717b1f9df4d3f4c4bd0b1f50f3bbc230;p=ldk-java diff --git a/src/main/java/org/ldk/structs/MessageSendEvent.java b/src/main/java/org/ldk/structs/MessageSendEvent.java index cd30a1a6..4d9633c1 100644 --- a/src/main/java/org/ldk/structs/MessageSendEvent.java +++ b/src/main/java/org/ldk/structs/MessageSendEvent.java @@ -4,6 +4,7 @@ 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; @@ -79,9 +80,16 @@ public class MessageSendEvent extends CommonBase { if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendReplyChannelRange.class) { return new SendReplyChannelRange(ptr, (bindings.LDKMessageSendEvent.SendReplyChannelRange)raw_val); } + if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendGossipTimestampFilter.class) { + return new SendGossipTimestampFilter(ptr, (bindings.LDKMessageSendEvent.SendGossipTimestampFilter)raw_val); + } assert false; return null; // Unreachable without extending the (internal) bindings interface } + /** + * Used to indicate that we've accepted a channel open and should send the accept_channel + * message provided to the given peer. + */ public final static class SendAcceptChannel extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -90,16 +98,20 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final AcceptChannel msg; + public final org.ldk.structs.AcceptChannel msg; private SendAcceptChannel(long ptr, bindings.LDKMessageSendEvent.SendAcceptChannel obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - AcceptChannel msg_hu_conv = new AcceptChannel(null, msg); + AcceptChannel msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new AcceptChannel(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that we've initiated a channel open and should send the open_channel + * message provided to the given peer. + */ public final static class SendOpenChannel extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -108,16 +120,19 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final OpenChannel msg; + public final org.ldk.structs.OpenChannel msg; private SendOpenChannel(long ptr, bindings.LDKMessageSendEvent.SendOpenChannel obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - OpenChannel msg_hu_conv = new OpenChannel(null, msg); + OpenChannel msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new OpenChannel(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a funding_created message should be sent to the peer with the given node_id. + */ public final static class SendFundingCreated extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -126,16 +141,19 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final FundingCreated msg; + public final org.ldk.structs.FundingCreated msg; private SendFundingCreated(long ptr, bindings.LDKMessageSendEvent.SendFundingCreated obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - FundingCreated msg_hu_conv = new FundingCreated(null, msg); + FundingCreated msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new FundingCreated(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a funding_signed message should be sent to the peer with the given node_id. + */ public final static class SendFundingSigned extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -144,16 +162,19 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final FundingSigned msg; + public final org.ldk.structs.FundingSigned msg; private SendFundingSigned(long ptr, bindings.LDKMessageSendEvent.SendFundingSigned obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - FundingSigned msg_hu_conv = new FundingSigned(null, msg); + FundingSigned msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new FundingSigned(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a funding_locked message should be sent to the peer with the given node_id. + */ public final static class SendFundingLocked extends MessageSendEvent { /** * The node_id of the node which should receive these message(s) @@ -162,16 +183,19 @@ public class MessageSendEvent extends CommonBase { /** * The funding_locked message which should be sent. */ - public final FundingLocked msg; + public final org.ldk.structs.FundingLocked msg; private SendFundingLocked(long ptr, bindings.LDKMessageSendEvent.SendFundingLocked obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - FundingLocked msg_hu_conv = new FundingLocked(null, msg); + FundingLocked msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new FundingLocked(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that an announcement_signatures message should be sent to the peer with the given node_id. + */ public final static class SendAnnouncementSignatures extends MessageSendEvent { /** * The node_id of the node which should receive these message(s) @@ -180,16 +204,20 @@ public class MessageSendEvent extends CommonBase { /** * The announcement_signatures message which should be sent. */ - public final AnnouncementSignatures msg; + public final org.ldk.structs.AnnouncementSignatures msg; private SendAnnouncementSignatures(long ptr, bindings.LDKMessageSendEvent.SendAnnouncementSignatures obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg); + AnnouncementSignatures msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new AnnouncementSignatures(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a series of HTLC update messages, as well as a commitment_signed + * message should be sent to the peer with the given node_id. + */ public final static class UpdateHTLCs extends MessageSendEvent { /** * The node_id of the node which should receive these message(s) @@ -198,16 +226,19 @@ public class MessageSendEvent extends CommonBase { /** * The update messages which should be sent. ALL messages in the struct should be sent! */ - public final CommitmentUpdate updates; + public final org.ldk.structs.CommitmentUpdate updates; private UpdateHTLCs(long ptr, bindings.LDKMessageSendEvent.UpdateHTLCs obj) { super(null, ptr); this.node_id = obj.node_id; long updates = obj.updates; - CommitmentUpdate updates_hu_conv = new CommitmentUpdate(null, updates); + CommitmentUpdate updates_hu_conv = null; if (updates < 0 || updates > 4096) { updates_hu_conv = new CommitmentUpdate(null, updates); } updates_hu_conv.ptrs_to.add(this); this.updates = updates_hu_conv; } } + /** + * Used to indicate that a revoke_and_ack message should be sent to the peer with the given node_id. + */ public final static class SendRevokeAndACK extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -216,16 +247,19 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final RevokeAndACK msg; + public final org.ldk.structs.RevokeAndACK msg; private SendRevokeAndACK(long ptr, bindings.LDKMessageSendEvent.SendRevokeAndACK obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg); + RevokeAndACK msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new RevokeAndACK(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a closing_signed message should be sent to the peer with the given node_id. + */ public final static class SendClosingSigned extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -234,16 +268,19 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final ClosingSigned msg; + public final org.ldk.structs.ClosingSigned msg; private SendClosingSigned(long ptr, bindings.LDKMessageSendEvent.SendClosingSigned obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - ClosingSigned msg_hu_conv = new ClosingSigned(null, msg); + ClosingSigned msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ClosingSigned(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a shutdown message should be sent to the peer with the given node_id. + */ public final static class SendShutdown extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -252,16 +289,19 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final Shutdown msg; + public final org.ldk.structs.Shutdown msg; private SendShutdown(long ptr, bindings.LDKMessageSendEvent.SendShutdown obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - Shutdown msg_hu_conv = new Shutdown(null, msg); + Shutdown msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new Shutdown(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a channel_reestablish message should be sent to the peer with the given node_id. + */ public final static class SendChannelReestablish extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -270,63 +310,84 @@ public class MessageSendEvent extends CommonBase { /** * The message which should be sent. */ - public final ChannelReestablish msg; + public final org.ldk.structs.ChannelReestablish msg; private SendChannelReestablish(long ptr, bindings.LDKMessageSendEvent.SendChannelReestablish obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg); + ChannelReestablish msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ChannelReestablish(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a channel_announcement and channel_update should be broadcast to all + * peers (except the peer with node_id either msg.contents.node_id_1 or msg.contents.node_id_2). + * + * Note that after doing so, you very likely (unless you did so very recently) want to call + * ChannelManager::broadcast_node_announcement to trigger a BroadcastNodeAnnouncement event. + * This ensures that any nodes which see our channel_announcement also have a relevant + * node_announcement, including relevant feature flags which may be important for routing + * through or to us. + */ public final static class BroadcastChannelAnnouncement extends MessageSendEvent { /** * The channel_announcement which should be sent. */ - public final ChannelAnnouncement msg; + public final org.ldk.structs.ChannelAnnouncement msg; /** * The followup channel_update which should be sent. */ - public final ChannelUpdate update_msg; + public final org.ldk.structs.ChannelUpdate update_msg; private BroadcastChannelAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement obj) { super(null, ptr); long msg = obj.msg; - ChannelAnnouncement msg_hu_conv = new ChannelAnnouncement(null, msg); + ChannelAnnouncement msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ChannelAnnouncement(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; long update_msg = obj.update_msg; - ChannelUpdate update_msg_hu_conv = new ChannelUpdate(null, update_msg); + ChannelUpdate update_msg_hu_conv = null; if (update_msg < 0 || update_msg > 4096) { update_msg_hu_conv = new ChannelUpdate(null, update_msg); } update_msg_hu_conv.ptrs_to.add(this); this.update_msg = update_msg_hu_conv; } } + /** + * Used to indicate that a node_announcement should be broadcast to all peers. + */ public final static class BroadcastNodeAnnouncement extends MessageSendEvent { /** * The node_announcement which should be sent. */ - public final NodeAnnouncement msg; + public final org.ldk.structs.NodeAnnouncement msg; private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) { super(null, ptr); long msg = obj.msg; - NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg); + NodeAnnouncement msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new NodeAnnouncement(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a channel_update should be broadcast to all peers. + */ public final static class BroadcastChannelUpdate extends MessageSendEvent { /** * The channel_update which should be sent. */ - public final ChannelUpdate msg; + public final org.ldk.structs.ChannelUpdate msg; private BroadcastChannelUpdate(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelUpdate obj) { super(null, ptr); long msg = obj.msg; - ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg); + ChannelUpdate msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ChannelUpdate(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Used to indicate that a channel_update should be sent to a single peer. + * In contrast to [`Self::BroadcastChannelUpdate`], this is used when the channel is a + * private channel and we shouldn't be informing all of our peers of channel parameters. + */ public final static class SendChannelUpdate extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -335,16 +396,19 @@ public class MessageSendEvent extends CommonBase { /** * The channel_update which should be sent. */ - public final ChannelUpdate msg; + public final org.ldk.structs.ChannelUpdate msg; private SendChannelUpdate(long ptr, bindings.LDKMessageSendEvent.SendChannelUpdate obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg); + ChannelUpdate msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new ChannelUpdate(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Broadcast an error downstream to be handled + */ public final static class HandleError extends MessageSendEvent { /** * The node_id of the node which should receive this message @@ -353,16 +417,19 @@ public class MessageSendEvent extends CommonBase { /** * The action which should be taken. */ - public final ErrorAction action; + public final org.ldk.structs.ErrorAction action; private HandleError(long ptr, bindings.LDKMessageSendEvent.HandleError obj) { super(null, ptr); this.node_id = obj.node_id; long action = obj.action; - ErrorAction action_hu_conv = ErrorAction.constr_from_ptr(action); + org.ldk.structs.ErrorAction action_hu_conv = org.ldk.structs.ErrorAction.constr_from_ptr(action); action_hu_conv.ptrs_to.add(this); this.action = action_hu_conv; } } + /** + * Query a peer for channels with funding transaction UTXOs in a block range. + */ public final static class SendChannelRangeQuery extends MessageSendEvent { /** * The node_id of this message recipient @@ -371,16 +438,20 @@ public class MessageSendEvent extends CommonBase { /** * The query_channel_range which should be sent. */ - public final QueryChannelRange msg; + public final org.ldk.structs.QueryChannelRange msg; private SendChannelRangeQuery(long ptr, bindings.LDKMessageSendEvent.SendChannelRangeQuery obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - QueryChannelRange msg_hu_conv = new QueryChannelRange(null, msg); + QueryChannelRange msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new QueryChannelRange(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Request routing gossip messages from a peer for a list of channels identified by + * their short_channel_ids. + */ public final static class SendShortIdsQuery extends MessageSendEvent { /** * The node_id of this message recipient @@ -389,16 +460,20 @@ public class MessageSendEvent extends CommonBase { /** * The query_short_channel_ids which should be sent. */ - public final QueryShortChannelIds msg; + public final org.ldk.structs.QueryShortChannelIds msg; private SendShortIdsQuery(long ptr, bindings.LDKMessageSendEvent.SendShortIdsQuery obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - QueryShortChannelIds msg_hu_conv = new QueryShortChannelIds(null, msg); + QueryShortChannelIds msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new QueryShortChannelIds(null, msg); } msg_hu_conv.ptrs_to.add(this); this.msg = msg_hu_conv; } } + /** + * Sends a reply to a channel range query. This may be one of several SendReplyChannelRange events + * emitted during processing of the query. + */ public final static class SendReplyChannelRange extends MessageSendEvent { /** * The node_id of this message recipient @@ -407,23 +482,52 @@ public class MessageSendEvent extends CommonBase { /** * The reply_channel_range which should be sent. */ - public final ReplyChannelRange msg; + public final org.ldk.structs.ReplyChannelRange msg; private SendReplyChannelRange(long ptr, bindings.LDKMessageSendEvent.SendReplyChannelRange obj) { super(null, ptr); this.node_id = obj.node_id; long msg = obj.msg; - ReplyChannelRange msg_hu_conv = new ReplyChannelRange(null, 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); this.msg = msg_hu_conv; } } + /** + * Sends a timestamp filter for inbound gossip. This should be sent on each new connection to + * enable receiving gossip messages from the peer. + */ + public final static class SendGossipTimestampFilter extends MessageSendEvent { + /** + * The node_id of this message recipient + */ + public final byte[] node_id; + /** + * The gossip_timestamp_filter which should be sent. + */ + public final org.ldk.structs.GossipTimestampFilter msg; + private SendGossipTimestampFilter(long ptr, bindings.LDKMessageSendEvent.SendGossipTimestampFilter obj) { + super(null, ptr); + this.node_id = obj.node_id; + long msg = obj.msg; + GossipTimestampFilter msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new GossipTimestampFilter(null, msg); } + msg_hu_conv.ptrs_to.add(this); + this.msg = msg_hu_conv; + } + } + long clone_ptr() { + long ret = bindings.MessageSendEvent_clone_ptr(this.ptr); + Reference.reachabilityFence(this); + return ret; + } + /** * Creates a copy of the MessageSendEvent */ public MessageSendEvent clone() { long ret = bindings.MessageSendEvent_clone(this.ptr); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + Reference.reachabilityFence(this); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(this); return ret_hu_conv; } @@ -432,11 +536,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendAcceptChannel-variant MessageSendEvent */ public static MessageSendEvent send_accept_channel(byte[] node_id, AcceptChannel msg) { - long ret = bindings.MessageSendEvent_send_accept_channel(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_accept_channel(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -444,11 +549,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendOpenChannel-variant MessageSendEvent */ public static MessageSendEvent send_open_channel(byte[] node_id, OpenChannel msg) { - long ret = bindings.MessageSendEvent_send_open_channel(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_open_channel(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -456,11 +562,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendFundingCreated-variant MessageSendEvent */ public static MessageSendEvent send_funding_created(byte[] node_id, FundingCreated msg) { - long ret = bindings.MessageSendEvent_send_funding_created(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_funding_created(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -468,11 +575,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendFundingSigned-variant MessageSendEvent */ public static MessageSendEvent send_funding_signed(byte[] node_id, FundingSigned msg) { - long ret = bindings.MessageSendEvent_send_funding_signed(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_funding_signed(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -480,11 +588,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendFundingLocked-variant MessageSendEvent */ public static MessageSendEvent send_funding_locked(byte[] node_id, FundingLocked msg) { - long ret = bindings.MessageSendEvent_send_funding_locked(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_funding_locked(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -492,11 +601,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendAnnouncementSignatures-variant MessageSendEvent */ public static MessageSendEvent send_announcement_signatures(byte[] node_id, AnnouncementSignatures msg) { - long ret = bindings.MessageSendEvent_send_announcement_signatures(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_announcement_signatures(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -504,11 +614,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new UpdateHTLCs-variant MessageSendEvent */ public static MessageSendEvent update_htlcs(byte[] node_id, CommitmentUpdate updates) { - long ret = bindings.MessageSendEvent_update_htlcs(node_id, updates == null ? 0 : updates.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_update_htlcs(InternalUtils.check_arr_len(node_id, 33), updates == null ? 0 : updates.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(updates); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(updates); return ret_hu_conv; } @@ -516,11 +627,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendRevokeAndACK-variant MessageSendEvent */ public static MessageSendEvent send_revoke_and_ack(byte[] node_id, RevokeAndACK msg) { - long ret = bindings.MessageSendEvent_send_revoke_and_ack(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_revoke_and_ack(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -528,11 +640,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendClosingSigned-variant MessageSendEvent */ public static MessageSendEvent send_closing_signed(byte[] node_id, ClosingSigned msg) { - long ret = bindings.MessageSendEvent_send_closing_signed(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_closing_signed(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -540,11 +653,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendShutdown-variant MessageSendEvent */ public static MessageSendEvent send_shutdown(byte[] node_id, Shutdown msg) { - long ret = bindings.MessageSendEvent_send_shutdown(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_shutdown(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -552,11 +666,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendChannelReestablish-variant MessageSendEvent */ public static MessageSendEvent send_channel_reestablish(byte[] node_id, ChannelReestablish msg) { - long ret = bindings.MessageSendEvent_send_channel_reestablish(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_channel_reestablish(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -565,11 +680,11 @@ public class MessageSendEvent extends CommonBase { */ public static MessageSendEvent broadcast_channel_announcement(ChannelAnnouncement msg, ChannelUpdate update_msg) { long ret = bindings.MessageSendEvent_broadcast_channel_announcement(msg == null ? 0 : msg.ptr & ~1, update_msg == null ? 0 : update_msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + Reference.reachabilityFence(msg); + Reference.reachabilityFence(update_msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); - ret_hu_conv.ptrs_to.add(update_msg); return ret_hu_conv; } @@ -578,10 +693,10 @@ public class MessageSendEvent extends CommonBase { */ public static MessageSendEvent broadcast_node_announcement(NodeAnnouncement msg) { long ret = bindings.MessageSendEvent_broadcast_node_announcement(msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -590,10 +705,10 @@ public class MessageSendEvent extends CommonBase { */ public static MessageSendEvent broadcast_channel_update(ChannelUpdate msg) { long ret = bindings.MessageSendEvent_broadcast_channel_update(msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -601,11 +716,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendChannelUpdate-variant MessageSendEvent */ public static MessageSendEvent send_channel_update(byte[] node_id, ChannelUpdate msg) { - long ret = bindings.MessageSendEvent_send_channel_update(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_channel_update(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -613,9 +729,11 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new HandleError-variant MessageSendEvent */ public static MessageSendEvent handle_error(byte[] node_id, ErrorAction action) { - long ret = bindings.MessageSendEvent_handle_error(node_id, action.ptr); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_handle_error(InternalUtils.check_arr_len(node_id, 33), action.ptr); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(action); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); return ret_hu_conv; } @@ -624,11 +742,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendChannelRangeQuery-variant MessageSendEvent */ public static MessageSendEvent send_channel_range_query(byte[] node_id, QueryChannelRange msg) { - long ret = bindings.MessageSendEvent_send_channel_range_query(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_channel_range_query(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -636,11 +755,12 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendShortIdsQuery-variant MessageSendEvent */ public static MessageSendEvent send_short_ids_query(byte[] node_id, QueryShortChannelIds msg) { - long ret = bindings.MessageSendEvent_send_short_ids_query(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_short_ids_query(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; } @@ -648,11 +768,25 @@ public class MessageSendEvent extends CommonBase { * Utility method to constructs a new SendReplyChannelRange-variant MessageSendEvent */ public static MessageSendEvent send_reply_channel_range(byte[] node_id, ReplyChannelRange msg) { - long ret = bindings.MessageSendEvent_send_reply_channel_range(node_id, msg == null ? 0 : msg.ptr & ~1); - if (ret < 1024) { return null; } - MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret); + long ret = bindings.MessageSendEvent_send_reply_channel_range(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); + ret_hu_conv.ptrs_to.add(ret_hu_conv); + return ret_hu_conv; + } + + /** + * Utility method to constructs a new SendGossipTimestampFilter-variant MessageSendEvent + */ + public static MessageSendEvent send_gossip_timestamp_filter(byte[] node_id, GossipTimestampFilter msg) { + long ret = bindings.MessageSendEvent_send_gossip_timestamp_filter(InternalUtils.check_arr_len(node_id, 33), msg == null ? 0 : msg.ptr & ~1); + Reference.reachabilityFence(node_id); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); ret_hu_conv.ptrs_to.add(ret_hu_conv); - ret_hu_conv.ptrs_to.add(msg); return ret_hu_conv; }