@@ -88,7 +88,7 @@ public ChannelManagerConstructor(byte[] channel_manager_serialized, byte[][] cha
8888 KeysInterface keys_interface , FeeEstimator fee_estimator , ChainMonitor chain_monitor ,
8989 @ Nullable Filter filter , @ Nullable byte [] net_graph_serialized ,
9090 BroadcasterInterface tx_broadcaster , Logger logger ) throws InvalidSerializedDataException {
91- final IgnoringMessageHandler no_custom_messages = IgnoringMessageHandler .of ();
91+ final IgnoringMessageHandler ignoring_handler = IgnoringMessageHandler .of ();
9292 final ChannelMonitor [] monitors = new ChannelMonitor [channel_monitors_serialized .length ];
9393 this .channel_monitors = new TwoTuple_BlockHashChannelMonitorZ [monitors .length ];
9494 HashSet <OutPoint > monitor_funding_set = new HashSet ();
@@ -130,13 +130,18 @@ public ChannelManagerConstructor(byte[] channel_manager_serialized, byte[][] cha
130130 this .graph_msg_handler = P2PGossipSync .of (net_graph , Option_AccessZ .none (), logger );
131131 this .peer_manager = PeerManager .of (channel_manager .as_ChannelMessageHandler (),
132132 graph_msg_handler .as_RoutingMessageHandler (),
133+ ignoring_handler .as_OnionMessageHandler (),
133134 ((Result_SecretKeyNoneZ .Result_SecretKeyNoneZ_OK )node_secret ).res ,
134- random_data , logger , no_custom_messages .as_CustomMessageHandler ());
135+ System .currentTimeMillis () / 1000 ,
136+ random_data , logger , ignoring_handler .as_CustomMessageHandler ());
135137 } else {
136138 this .graph_msg_handler = null ;
137- this .peer_manager = PeerManager .of (channel_manager .as_ChannelMessageHandler (), no_custom_messages .as_RoutingMessageHandler (),
139+ this .peer_manager = PeerManager .of (channel_manager .as_ChannelMessageHandler (),
140+ ignoring_handler .as_RoutingMessageHandler (),
141+ ignoring_handler .as_OnionMessageHandler (),
138142 ((Result_SecretKeyNoneZ .Result_SecretKeyNoneZ_OK )node_secret ).res ,
139- random_data , logger , no_custom_messages .as_CustomMessageHandler ());
143+ System .currentTimeMillis () / 1000 ,
144+ random_data , logger , ignoring_handler .as_CustomMessageHandler ());
140145 }
141146 NioPeerHandler nio_peer_handler = null ;
142147 try {
@@ -160,7 +165,7 @@ public ChannelManagerConstructor(Network network, UserConfig config, byte[] curr
160165 KeysInterface keys_interface , FeeEstimator fee_estimator , ChainMonitor chain_monitor ,
161166 @ Nullable NetworkGraph net_graph ,
162167 BroadcasterInterface tx_broadcaster , Logger logger ) {
163- final IgnoringMessageHandler no_custom_messages = IgnoringMessageHandler .of ();
168+ final IgnoringMessageHandler ignoring_handler = IgnoringMessageHandler .of ();
164169 channel_monitors = new TwoTuple_BlockHashChannelMonitorZ [0 ];
165170 channel_manager_latest_block_hash = null ;
166171 this .chain_monitor = chain_monitor ;
@@ -177,13 +182,18 @@ public ChannelManagerConstructor(Network network, UserConfig config, byte[] curr
177182 this .graph_msg_handler = P2PGossipSync .of (net_graph , Option_AccessZ .none (), logger );
178183 this .peer_manager = PeerManager .of (channel_manager .as_ChannelMessageHandler (),
179184 graph_msg_handler .as_RoutingMessageHandler (),
185+ ignoring_handler .as_OnionMessageHandler (),
180186 ((Result_SecretKeyNoneZ .Result_SecretKeyNoneZ_OK )node_secret ).res ,
181- random_data , logger , no_custom_messages .as_CustomMessageHandler ());
187+ System .currentTimeMillis () / 1000 ,
188+ random_data , logger , ignoring_handler .as_CustomMessageHandler ());
182189 } else {
183190 this .graph_msg_handler = null ;
184- this .peer_manager = PeerManager .of (channel_manager .as_ChannelMessageHandler (), no_custom_messages .as_RoutingMessageHandler (),
191+ this .peer_manager = PeerManager .of (channel_manager .as_ChannelMessageHandler (),
192+ ignoring_handler .as_RoutingMessageHandler (),
193+ ignoring_handler .as_OnionMessageHandler (),
185194 ((Result_SecretKeyNoneZ .Result_SecretKeyNoneZ_OK )node_secret ).res ,
186- random_data , logger , no_custom_messages .as_CustomMessageHandler ());
195+ System .currentTimeMillis () / 1000 ,
196+ random_data , logger , ignoring_handler .as_CustomMessageHandler ());
187197 }
188198 NioPeerHandler nio_peer_handler = null ;
189199 try {
@@ -222,9 +232,8 @@ public void chain_sync_completed(EventHandler event_handler, @Nullable MultiThre
222232 }
223233 org .ldk .structs .EventHandler ldk_handler = org .ldk .structs .EventHandler .new_impl (event_handler ::handle_event );
224234 if (this .net_graph != null && scorer != null ) {
225- Router router = DefaultRouter .of (net_graph , logger , router_rand_bytes ).as_Router ();
226- this .payer = InvoicePayer .of (this .channel_manager .as_Payer (), router , scorer , this .logger , ldk_handler , Retry .attempts (3 ));
227- assert this .payer != null ;
235+ Router router = DefaultRouter .of (net_graph , logger , router_rand_bytes , scorer .as_LockableScore ()).as_Router ();
236+ this .payer = InvoicePayer .of (this .channel_manager .as_Payer (), router , this .logger , ldk_handler , Retry .attempts (3 ));
228237 ldk_handler = this .payer .as_EventHandler ();
229238 }
230239
@@ -234,6 +243,12 @@ public void chain_sync_completed(EventHandler event_handler, @Nullable MultiThre
234243 else
235244 gossip_sync = GossipSync .p2_p (this .graph_msg_handler );
236245
246+ Option_WriteableScoreZ writeable_score ;
247+ if (scorer != null )
248+ writeable_score = Option_WriteableScoreZ .some (scorer .as_WriteableScore ());
249+ else
250+ writeable_score = Option_WriteableScoreZ .none ();
251+
237252 background_processor = BackgroundProcessor .start (Persister .new_impl (new Persister .PersisterInterface () {
238253 @ Override
239254 public Result_NoneErrorZ persist_manager (ChannelManager channel_manager ) {
@@ -248,11 +263,11 @@ public Result_NoneErrorZ persist_graph(NetworkGraph network_graph) {
248263 }
249264
250265 @ Override
251- public Result_NoneErrorZ persist_scorer (MultiThreadedLockableScore scorer ) {
266+ public Result_NoneErrorZ persist_scorer (WriteableScore scorer ) {
252267 event_handler .persist_scorer (scorer .write ());
253268 return Result_NoneErrorZ .ok ();
254269 }
255- }), ldk_handler , this .chain_monitor , this .channel_manager , gossip_sync , this .peer_manager , this .logger , scorer );
270+ }), ldk_handler , this .chain_monitor , this .channel_manager , gossip_sync , this .peer_manager , this .logger , writeable_score );
256271 }
257272
258273 /**
0 commit comments