- background_processor = BackgroundProcessor.start(org.ldk.structs.ChannelManagerPersister.new_impl(channel_manager -> {
- persister.persist_manager(channel_manager.write());
- return Result_NoneErrorZ.ok();
- }), EventHandler.new_impl(persister::handle_event),
- this.chain_monitor, this.channel_manager, this.peer_manager, this.logger);
+
+ GossipSync gossip_sync;
+ if (this.graph_msg_handler == null)
+ gossip_sync = GossipSync.none();
+ else
+ gossip_sync = GossipSync.p2_p(this.graph_msg_handler);
+
+ 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();
+ }
+
+ @Override
+ public Result_NoneErrorZ persist_scorer(MultiThreadedLockableScore scorer) {
+ event_handler.persist_scorer(scorer.write());
+ return Result_NoneErrorZ.ok();
+ }
+ }), ldk_handler, this.chain_monitor, this.channel_manager, gossip_sync, this.peer_manager, this.logger, scorer);