- public static interface RoutingMessageHandlerInterface {
- Result_boolLightningErrorZ handle_node_announcement(NodeAnnouncement msg);
- Result_boolLightningErrorZ handle_channel_announcement(ChannelAnnouncement msg);
- Result_boolLightningErrorZ handle_channel_update(ChannelUpdate msg);
- void handle_htlc_fail_channel_update(HTLCFailChannelUpdate update);
- ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] get_next_channel_announcements(long starting_point, byte batch_amount);
- NodeAnnouncement[] get_next_node_announcements(byte[] starting_point, byte batch_amount);
- void sync_routing_table(byte[] their_node_id, Init init);
- Result_NoneLightningErrorZ handle_reply_channel_range(byte[] their_node_id, ReplyChannelRange msg);
- Result_NoneLightningErrorZ handle_reply_short_channel_ids_end(byte[] their_node_id, ReplyShortChannelIdsEnd msg);
- Result_NoneLightningErrorZ handle_query_channel_range(byte[] their_node_id, QueryChannelRange msg);
- Result_NoneLightningErrorZ handle_query_short_channel_ids(byte[] their_node_id, QueryShortChannelIds msg);
- }
- private static class LDKRoutingMessageHandlerHolder { RoutingMessageHandler held; }
- public static RoutingMessageHandler new_impl(RoutingMessageHandlerInterface arg, MessageSendEventsProvider.MessageSendEventsProviderInterface MessageSendEventsProvider_impl) {
- final LDKRoutingMessageHandlerHolder impl_holder = new LDKRoutingMessageHandlerHolder();
- impl_holder.held = new RoutingMessageHandler(new bindings.LDKRoutingMessageHandler() {
- @Override public uint32_t handle_node_announcement(uint32_t msg) {
- NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
- Result_boolLightningErrorZ ret = arg.handle_node_announcement(msg_hu_conv);
- uint32_t result = ret != null ? ret.ptr : 0;
- ret.ptr = 0;
+
+ export class RoutingMessageHandler extends CommonBase {
+
+ bindings_instance?: bindings.LDKRoutingMessageHandler;
+
+ constructor(ptr?: number, arg?: bindings.LDKRoutingMessageHandler, messageSendEventsProvider?: bindings.LDKMessageSendEventsProvider) {
+ if (Number.isFinite(ptr)) {
+ super(ptr);
+ this.bindings_instance = null;
+ } else {
+ // TODO: private constructor instantiation
+ super(bindings.LDKRoutingMessageHandler_new(arg, messageSendEventsProvider));
+ this.ptrs_to.push(arg);
+ this.ptrs_to.push(messageSendEventsProvider);
+
+ }
+ }
+
+ protected finalize() {
+ if (this.ptr != 0) {
+ bindings.RoutingMessageHandler_free(this.ptr);
+ }
+ super.finalize();
+ }
+
+ static new_impl(arg: RoutingMessageHandlerInterface, messageSendEventsProvider_impl: MessageSendEventsProvider.MessageSendEventsProviderInterface): RoutingMessageHandler {
+ const impl_holder: LDKRoutingMessageHandlerHolder = new LDKRoutingMessageHandlerHolder();
+ let structImplementation = <bindings.LDKRoutingMessageHandler>{
+ // todo: in-line interface filling
+ handle_node_announcement (msg: number): number {
+ const msg_hu_conv: NodeAnnouncement = new NodeAnnouncement(null, msg);
+ Result_boolLightningErrorZ ret = arg.handle_node_announcement(msg_hu_conv);
+ result: number = ret != null ? ret.ptr : 0;