36e816f8acf257b99440cb6433464cb8cc720d21
[ldk-java] / src / main / java / org / ldk / structs / MessageSendEvent.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5 import org.ldk.util.*;
6 import java.util.Arrays;
7
8
9 /**
10  * An event generated by ChannelManager which indicates a message should be sent to a peer (or
11  * broadcast to most peers).
12  * These events are handled by PeerManager::process_events if you are using a PeerManager.
13  */
14 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
15 public class MessageSendEvent extends CommonBase {
16         private MessageSendEvent(Object _dummy, long ptr) { super(ptr); }
17         @Override @SuppressWarnings("deprecation")
18         protected void finalize() throws Throwable {
19                 super.finalize();
20                 if (ptr != 0) { bindings.MessageSendEvent_free(ptr); }
21         }
22         static MessageSendEvent constr_from_ptr(long ptr) {
23                 bindings.LDKMessageSendEvent raw_val = bindings.LDKMessageSendEvent_ref_from_ptr(ptr);
24                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAcceptChannel.class) {
25                         return new SendAcceptChannel(ptr, (bindings.LDKMessageSendEvent.SendAcceptChannel)raw_val);
26                 }
27                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendOpenChannel.class) {
28                         return new SendOpenChannel(ptr, (bindings.LDKMessageSendEvent.SendOpenChannel)raw_val);
29                 }
30                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingCreated.class) {
31                         return new SendFundingCreated(ptr, (bindings.LDKMessageSendEvent.SendFundingCreated)raw_val);
32                 }
33                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingSigned.class) {
34                         return new SendFundingSigned(ptr, (bindings.LDKMessageSendEvent.SendFundingSigned)raw_val);
35                 }
36                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingLocked.class) {
37                         return new SendFundingLocked(ptr, (bindings.LDKMessageSendEvent.SendFundingLocked)raw_val);
38                 }
39                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAnnouncementSignatures.class) {
40                         return new SendAnnouncementSignatures(ptr, (bindings.LDKMessageSendEvent.SendAnnouncementSignatures)raw_val);
41                 }
42                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.UpdateHTLCs.class) {
43                         return new UpdateHTLCs(ptr, (bindings.LDKMessageSendEvent.UpdateHTLCs)raw_val);
44                 }
45                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendRevokeAndACK.class) {
46                         return new SendRevokeAndACK(ptr, (bindings.LDKMessageSendEvent.SendRevokeAndACK)raw_val);
47                 }
48                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendClosingSigned.class) {
49                         return new SendClosingSigned(ptr, (bindings.LDKMessageSendEvent.SendClosingSigned)raw_val);
50                 }
51                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShutdown.class) {
52                         return new SendShutdown(ptr, (bindings.LDKMessageSendEvent.SendShutdown)raw_val);
53                 }
54                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelReestablish.class) {
55                         return new SendChannelReestablish(ptr, (bindings.LDKMessageSendEvent.SendChannelReestablish)raw_val);
56                 }
57                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement.class) {
58                         return new BroadcastChannelAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement)raw_val);
59                 }
60                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement.class) {
61                         return new BroadcastNodeAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement)raw_val);
62                 }
63                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelUpdate.class) {
64                         return new BroadcastChannelUpdate(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelUpdate)raw_val);
65                 }
66                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.HandleError.class) {
67                         return new HandleError(ptr, (bindings.LDKMessageSendEvent.HandleError)raw_val);
68                 }
69                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate.class) {
70                         return new PaymentFailureNetworkUpdate(ptr, (bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate)raw_val);
71                 }
72                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelRangeQuery.class) {
73                         return new SendChannelRangeQuery(ptr, (bindings.LDKMessageSendEvent.SendChannelRangeQuery)raw_val);
74                 }
75                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShortIdsQuery.class) {
76                         return new SendShortIdsQuery(ptr, (bindings.LDKMessageSendEvent.SendShortIdsQuery)raw_val);
77                 }
78                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendReplyChannelRange.class) {
79                         return new SendReplyChannelRange(ptr, (bindings.LDKMessageSendEvent.SendReplyChannelRange)raw_val);
80                 }
81                 assert false; return null; // Unreachable without extending the (internal) bindings interface
82         }
83
84         public final static class SendAcceptChannel extends MessageSendEvent {
85                 public final byte[] node_id;
86                 public final AcceptChannel msg;
87                 private SendAcceptChannel(long ptr, bindings.LDKMessageSendEvent.SendAcceptChannel obj) {
88                         super(null, ptr);
89                         this.node_id = obj.node_id;
90                         long msg = obj.msg;
91                         AcceptChannel msg_hu_conv = new AcceptChannel(null, msg);
92                         msg_hu_conv.ptrs_to.add(this);
93                         this.msg = msg_hu_conv;
94                 }
95         }
96         public final static class SendOpenChannel extends MessageSendEvent {
97                 public final byte[] node_id;
98                 public final OpenChannel msg;
99                 private SendOpenChannel(long ptr, bindings.LDKMessageSendEvent.SendOpenChannel obj) {
100                         super(null, ptr);
101                         this.node_id = obj.node_id;
102                         long msg = obj.msg;
103                         OpenChannel msg_hu_conv = new OpenChannel(null, msg);
104                         msg_hu_conv.ptrs_to.add(this);
105                         this.msg = msg_hu_conv;
106                 }
107         }
108         public final static class SendFundingCreated extends MessageSendEvent {
109                 public final byte[] node_id;
110                 public final FundingCreated msg;
111                 private SendFundingCreated(long ptr, bindings.LDKMessageSendEvent.SendFundingCreated obj) {
112                         super(null, ptr);
113                         this.node_id = obj.node_id;
114                         long msg = obj.msg;
115                         FundingCreated msg_hu_conv = new FundingCreated(null, msg);
116                         msg_hu_conv.ptrs_to.add(this);
117                         this.msg = msg_hu_conv;
118                 }
119         }
120         public final static class SendFundingSigned extends MessageSendEvent {
121                 public final byte[] node_id;
122                 public final FundingSigned msg;
123                 private SendFundingSigned(long ptr, bindings.LDKMessageSendEvent.SendFundingSigned obj) {
124                         super(null, ptr);
125                         this.node_id = obj.node_id;
126                         long msg = obj.msg;
127                         FundingSigned msg_hu_conv = new FundingSigned(null, msg);
128                         msg_hu_conv.ptrs_to.add(this);
129                         this.msg = msg_hu_conv;
130                 }
131         }
132         public final static class SendFundingLocked extends MessageSendEvent {
133                 public final byte[] node_id;
134                 public final FundingLocked msg;
135                 private SendFundingLocked(long ptr, bindings.LDKMessageSendEvent.SendFundingLocked obj) {
136                         super(null, ptr);
137                         this.node_id = obj.node_id;
138                         long msg = obj.msg;
139                         FundingLocked msg_hu_conv = new FundingLocked(null, msg);
140                         msg_hu_conv.ptrs_to.add(this);
141                         this.msg = msg_hu_conv;
142                 }
143         }
144         public final static class SendAnnouncementSignatures extends MessageSendEvent {
145                 public final byte[] node_id;
146                 public final AnnouncementSignatures msg;
147                 private SendAnnouncementSignatures(long ptr, bindings.LDKMessageSendEvent.SendAnnouncementSignatures obj) {
148                         super(null, ptr);
149                         this.node_id = obj.node_id;
150                         long msg = obj.msg;
151                         AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg);
152                         msg_hu_conv.ptrs_to.add(this);
153                         this.msg = msg_hu_conv;
154                 }
155         }
156         public final static class UpdateHTLCs extends MessageSendEvent {
157                 public final byte[] node_id;
158                 public final CommitmentUpdate updates;
159                 private UpdateHTLCs(long ptr, bindings.LDKMessageSendEvent.UpdateHTLCs obj) {
160                         super(null, ptr);
161                         this.node_id = obj.node_id;
162                         long updates = obj.updates;
163                         CommitmentUpdate updates_hu_conv = new CommitmentUpdate(null, updates);
164                         updates_hu_conv.ptrs_to.add(this);
165                         this.updates = updates_hu_conv;
166                 }
167         }
168         public final static class SendRevokeAndACK extends MessageSendEvent {
169                 public final byte[] node_id;
170                 public final RevokeAndACK msg;
171                 private SendRevokeAndACK(long ptr, bindings.LDKMessageSendEvent.SendRevokeAndACK obj) {
172                         super(null, ptr);
173                         this.node_id = obj.node_id;
174                         long msg = obj.msg;
175                         RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg);
176                         msg_hu_conv.ptrs_to.add(this);
177                         this.msg = msg_hu_conv;
178                 }
179         }
180         public final static class SendClosingSigned extends MessageSendEvent {
181                 public final byte[] node_id;
182                 public final ClosingSigned msg;
183                 private SendClosingSigned(long ptr, bindings.LDKMessageSendEvent.SendClosingSigned obj) {
184                         super(null, ptr);
185                         this.node_id = obj.node_id;
186                         long msg = obj.msg;
187                         ClosingSigned msg_hu_conv = new ClosingSigned(null, msg);
188                         msg_hu_conv.ptrs_to.add(this);
189                         this.msg = msg_hu_conv;
190                 }
191         }
192         public final static class SendShutdown extends MessageSendEvent {
193                 public final byte[] node_id;
194                 public final Shutdown msg;
195                 private SendShutdown(long ptr, bindings.LDKMessageSendEvent.SendShutdown obj) {
196                         super(null, ptr);
197                         this.node_id = obj.node_id;
198                         long msg = obj.msg;
199                         Shutdown msg_hu_conv = new Shutdown(null, msg);
200                         msg_hu_conv.ptrs_to.add(this);
201                         this.msg = msg_hu_conv;
202                 }
203         }
204         public final static class SendChannelReestablish extends MessageSendEvent {
205                 public final byte[] node_id;
206                 public final ChannelReestablish msg;
207                 private SendChannelReestablish(long ptr, bindings.LDKMessageSendEvent.SendChannelReestablish obj) {
208                         super(null, ptr);
209                         this.node_id = obj.node_id;
210                         long msg = obj.msg;
211                         ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg);
212                         msg_hu_conv.ptrs_to.add(this);
213                         this.msg = msg_hu_conv;
214                 }
215         }
216         public final static class BroadcastChannelAnnouncement extends MessageSendEvent {
217                 public final ChannelAnnouncement msg;
218                 public final ChannelUpdate update_msg;
219                 private BroadcastChannelAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement obj) {
220                         super(null, ptr);
221                         long msg = obj.msg;
222                         ChannelAnnouncement msg_hu_conv = new ChannelAnnouncement(null, msg);
223                         msg_hu_conv.ptrs_to.add(this);
224                         this.msg = msg_hu_conv;
225                         long update_msg = obj.update_msg;
226                         ChannelUpdate update_msg_hu_conv = new ChannelUpdate(null, update_msg);
227                         update_msg_hu_conv.ptrs_to.add(this);
228                         this.update_msg = update_msg_hu_conv;
229                 }
230         }
231         public final static class BroadcastNodeAnnouncement extends MessageSendEvent {
232                 public final NodeAnnouncement msg;
233                 private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) {
234                         super(null, ptr);
235                         long msg = obj.msg;
236                         NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
237                         msg_hu_conv.ptrs_to.add(this);
238                         this.msg = msg_hu_conv;
239                 }
240         }
241         public final static class BroadcastChannelUpdate extends MessageSendEvent {
242                 public final ChannelUpdate msg;
243                 private BroadcastChannelUpdate(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelUpdate obj) {
244                         super(null, ptr);
245                         long msg = obj.msg;
246                         ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
247                         msg_hu_conv.ptrs_to.add(this);
248                         this.msg = msg_hu_conv;
249                 }
250         }
251         public final static class HandleError extends MessageSendEvent {
252                 public final byte[] node_id;
253                 public final ErrorAction action;
254                 private HandleError(long ptr, bindings.LDKMessageSendEvent.HandleError obj) {
255                         super(null, ptr);
256                         this.node_id = obj.node_id;
257                         long action = obj.action;
258                         ErrorAction action_hu_conv = ErrorAction.constr_from_ptr(action);
259                         action_hu_conv.ptrs_to.add(this);
260                         this.action = action_hu_conv;
261                 }
262         }
263         public final static class PaymentFailureNetworkUpdate extends MessageSendEvent {
264                 public final HTLCFailChannelUpdate update;
265                 private PaymentFailureNetworkUpdate(long ptr, bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate obj) {
266                         super(null, ptr);
267                         long update = obj.update;
268                         HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
269                         update_hu_conv.ptrs_to.add(this);
270                         this.update = update_hu_conv;
271                 }
272         }
273         public final static class SendChannelRangeQuery extends MessageSendEvent {
274                 public final byte[] node_id;
275                 public final QueryChannelRange msg;
276                 private SendChannelRangeQuery(long ptr, bindings.LDKMessageSendEvent.SendChannelRangeQuery obj) {
277                         super(null, ptr);
278                         this.node_id = obj.node_id;
279                         long msg = obj.msg;
280                         QueryChannelRange msg_hu_conv = new QueryChannelRange(null, msg);
281                         msg_hu_conv.ptrs_to.add(this);
282                         this.msg = msg_hu_conv;
283                 }
284         }
285         public final static class SendShortIdsQuery extends MessageSendEvent {
286                 public final byte[] node_id;
287                 public final QueryShortChannelIds msg;
288                 private SendShortIdsQuery(long ptr, bindings.LDKMessageSendEvent.SendShortIdsQuery obj) {
289                         super(null, ptr);
290                         this.node_id = obj.node_id;
291                         long msg = obj.msg;
292                         QueryShortChannelIds msg_hu_conv = new QueryShortChannelIds(null, msg);
293                         msg_hu_conv.ptrs_to.add(this);
294                         this.msg = msg_hu_conv;
295                 }
296         }
297         public final static class SendReplyChannelRange extends MessageSendEvent {
298                 public final byte[] node_id;
299                 public final ReplyChannelRange msg;
300                 private SendReplyChannelRange(long ptr, bindings.LDKMessageSendEvent.SendReplyChannelRange obj) {
301                         super(null, ptr);
302                         this.node_id = obj.node_id;
303                         long msg = obj.msg;
304                         ReplyChannelRange msg_hu_conv = new ReplyChannelRange(null, msg);
305                         msg_hu_conv.ptrs_to.add(this);
306                         this.msg = msg_hu_conv;
307                 }
308         }
309 }