import org.ldk.enums.*;
import org.ldk.util.*;
import java.util.Arrays;
+import javax.annotation.Nullable;
+
+/**
+ * An event generated by ChannelManager which indicates a message should be sent to a peer (or
+ * broadcast to most peers).
+ * These events are handled by PeerManager::process_events if you are using a PeerManager.
+ */
@SuppressWarnings("unchecked") // We correctly assign various generic arrays
public class MessageSendEvent extends CommonBase {
private MessageSendEvent(Object _dummy, long ptr) { super(ptr); }
@Override @SuppressWarnings("deprecation")
protected void finalize() throws Throwable {
super.finalize();
- bindings.MessageSendEvent_free(ptr);
+ if (ptr != 0) { bindings.MessageSendEvent_free(ptr); }
}
- long conv_to_c() { assert false; return 0; /* Should only be called on subclasses */ }
static MessageSendEvent constr_from_ptr(long ptr) {
bindings.LDKMessageSendEvent raw_val = bindings.LDKMessageSendEvent_ref_from_ptr(ptr);
if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAcceptChannel.class) {
if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelUpdate.class) {
return new BroadcastChannelUpdate(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelUpdate)raw_val);
}
+ if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelUpdate.class) {
+ return new SendChannelUpdate(ptr, (bindings.LDKMessageSendEvent.SendChannelUpdate)raw_val);
+ }
if (raw_val.getClass() == bindings.LDKMessageSendEvent.HandleError.class) {
return new HandleError(ptr, (bindings.LDKMessageSendEvent.HandleError)raw_val);
}
- if (raw_val.getClass() == bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate.class) {
- return new PaymentFailureNetworkUpdate(ptr, (bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate)raw_val);
+ if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelRangeQuery.class) {
+ return new SendChannelRangeQuery(ptr, (bindings.LDKMessageSendEvent.SendChannelRangeQuery)raw_val);
+ }
+ if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShortIdsQuery.class) {
+ return new SendShortIdsQuery(ptr, (bindings.LDKMessageSendEvent.SendShortIdsQuery)raw_val);
+ }
+ if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendReplyChannelRange.class) {
+ return new SendReplyChannelRange(ptr, (bindings.LDKMessageSendEvent.SendReplyChannelRange)raw_val);
}
assert false; return null; // Unreachable without extending the (internal) bindings interface
}
public final static class SendAcceptChannel extends MessageSendEvent {
- public byte[] node_id;
- public AcceptChannel msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendOpenChannel extends MessageSendEvent {
- public byte[] node_id;
- public OpenChannel msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendFundingCreated extends MessageSendEvent {
- public byte[] node_id;
- public FundingCreated msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendFundingSigned extends MessageSendEvent {
- public byte[] node_id;
- public FundingSigned msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendFundingLocked extends MessageSendEvent {
- public byte[] node_id;
- public FundingLocked msg;
+ /**
+ * The node_id of the node which should receive these message(s)
+ */
+ public final byte[] node_id;
+ /**
+ * The funding_locked message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendAnnouncementSignatures extends MessageSendEvent {
- public byte[] node_id;
- public AnnouncementSignatures msg;
+ /**
+ * The node_id of the node which should receive these message(s)
+ */
+ public final byte[] node_id;
+ /**
+ * The announcement_signatures message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class UpdateHTLCs extends MessageSendEvent {
- public byte[] node_id;
- public CommitmentUpdate updates;
+ /**
+ * The node_id of the node which should receive these message(s)
+ */
+ public final byte[] node_id;
+ /**
+ * The update messages which should be sent. ALL messages in the struct should be sent!
+ */
+ public final 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);
+ updates_hu_conv.ptrs_to.add(this);
this.updates = updates_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendRevokeAndACK extends MessageSendEvent {
- public byte[] node_id;
- public RevokeAndACK msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendClosingSigned extends MessageSendEvent {
- public byte[] node_id;
- public ClosingSigned msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendShutdown extends MessageSendEvent {
- public byte[] node_id;
- public Shutdown msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class SendChannelReestablish extends MessageSendEvent {
- public byte[] node_id;
- public ChannelReestablish msg;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The message which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class BroadcastChannelAnnouncement extends MessageSendEvent {
- public ChannelAnnouncement msg;
- public ChannelUpdate update_msg;
+ /**
+ * The channel_announcement which should be sent.
+ */
+ public final ChannelAnnouncement msg;
+ /**
+ * The followup channel_update which should be sent.
+ */
+ public final 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);
+ 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);
+ update_msg_hu_conv.ptrs_to.add(this);
this.update_msg = update_msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class BroadcastNodeAnnouncement extends MessageSendEvent {
- public NodeAnnouncement msg;
+ /**
+ * The node_announcement which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class BroadcastChannelUpdate extends MessageSendEvent {
- public ChannelUpdate msg;
+ /**
+ * The channel_update which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
+ this.msg = msg_hu_conv;
+ }
+ }
+ public final static class SendChannelUpdate extends MessageSendEvent {
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The channel_update which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
public final static class HandleError extends MessageSendEvent {
- public byte[] node_id;
- public ErrorAction action;
+ /**
+ * The node_id of the node which should receive this message
+ */
+ public final byte[] node_id;
+ /**
+ * The action which should be taken.
+ */
+ public final 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);
+ action_hu_conv.ptrs_to.add(this);
this.action = action_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
- public final static class PaymentFailureNetworkUpdate extends MessageSendEvent {
- public HTLCFailChannelUpdate update;
- private PaymentFailureNetworkUpdate(long ptr, bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate obj) {
+ public final static class SendChannelRangeQuery extends MessageSendEvent {
+ /**
+ * The node_id of this message recipient
+ */
+ public final byte[] node_id;
+ /**
+ * The query_channel_range which should be sent.
+ */
+ public final QueryChannelRange msg;
+ private SendChannelRangeQuery(long ptr, bindings.LDKMessageSendEvent.SendChannelRangeQuery obj) {
super(null, ptr);
- long update = obj.update;
- HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
- this.update = update_hu_conv;
+ this.node_id = obj.node_id;
+ long msg = obj.msg;
+ QueryChannelRange msg_hu_conv = new QueryChannelRange(null, msg);
+ msg_hu_conv.ptrs_to.add(this);
+ this.msg = msg_hu_conv;
}
- @Override long conv_to_c() { return 0; /*XXX*/ }
}
+ public final static class SendShortIdsQuery extends MessageSendEvent {
+ /**
+ * The node_id of this message recipient
+ */
+ public final byte[] node_id;
+ /**
+ * The query_short_channel_ids which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
+ this.msg = msg_hu_conv;
+ }
+ }
+ public final static class SendReplyChannelRange extends MessageSendEvent {
+ /**
+ * The node_id of this message recipient
+ */
+ public final byte[] node_id;
+ /**
+ * The reply_channel_range which should be sent.
+ */
+ public final 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);
+ msg_hu_conv.ptrs_to.add(this);
+ this.msg = msg_hu_conv;
+ }
+ }
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(this);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(updates);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * Utility method to constructs a new BroadcastChannelAnnouncement-variant MessageSendEvent
+ */
+ 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);
+ 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;
+ }
+
+ /**
+ * Utility method to constructs a new BroadcastNodeAnnouncement-variant MessageSendEvent
+ */
+ 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * Utility method to constructs a new BroadcastChannelUpdate-variant MessageSendEvent
+ */
+ 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
+ /**
+ * 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);
+ ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ ret_hu_conv.ptrs_to.add(msg);
+ return ret_hu_conv;
+ }
+
}