- background_processor = BackgroundProcessor.start(org.ldk.structs.ChannelManagerPersister.new_impl(channel_manager -> {
- event_handler.persist_manager(channel_manager.write());
- return Result_NoneErrorZ.ok();
- }), org.ldk.structs.EventHandler.new_impl(event_handler::handle_event),
- this.chain_monitor, this.channel_manager, this.router, this.peer_manager, this.logger);
+ org.ldk.structs.EventHandler ldk_handler = org.ldk.structs.EventHandler.new_impl(event_handler::handle_event);
+ if (this.net_graph != null && scorer != null) {
+ Router router = DefaultRouter.of(net_graph, logger, router_rand_bytes).as_Router();
+ this.payer = InvoicePayer.of(this.channel_manager.as_Payer(), router, scorer, this.logger, ldk_handler, RetryAttempts.of(3));
+assert this.payer != null;
+ ldk_handler = this.payer.as_EventHandler();
+ }
+
+ background_processor = BackgroundProcessor.start(Persister.new_impl(new Persister.PersisterInterface() {
+ @Override
+ public Result_NoneErrorZ persist_manager(ChannelManager channel_manager) {
+ event_handler.persist_manager(channel_manager.write());
+ return Result_NoneErrorZ.ok();
+ }
+
+ @Override
+ public Result_NoneErrorZ persist_graph(NetworkGraph network_graph) {
+ event_handler.persist_network_graph(network_graph.write());
+ return Result_NoneErrorZ.ok();
+ }
+ }), ldk_handler, this.chain_monitor, this.channel_manager, this.graph_msg_handler, this.peer_manager, this.logger);