@@ -341,13 +341,15 @@ fn get_dummy_channel_update(short_chan_id: u64) -> msgs::ChannelUpdate {
341341pub struct TestRoutingMessageHandler {
342342 pub chan_upds_recvd : AtomicUsize ,
343343 pub chan_anns_recvd : AtomicUsize ,
344+ pending_events : Mutex < Vec < events:: MessageSendEvent > > ,
344345}
345346
346347impl TestRoutingMessageHandler {
347348 pub fn new ( ) -> Self {
348349 TestRoutingMessageHandler {
349350 chan_upds_recvd : AtomicUsize :: new ( 0 ) ,
350351 chan_anns_recvd : AtomicUsize :: new ( 0 ) ,
352+ pending_events : Mutex :: new ( vec ! [ ] ) ,
351353 }
352354 }
353355}
@@ -382,7 +384,17 @@ impl msgs::RoutingMessageHandler for TestRoutingMessageHandler {
382384 Vec :: new ( )
383385 }
384386
385- fn peer_connected ( & self , _their_node_id : & PublicKey , _init_msg : & msgs:: Init ) { }
387+ fn peer_connected ( & self , their_node_id : & PublicKey , _init_msg : & msgs:: Init ) {
388+ let mut pending_events = self . pending_events . lock ( ) . unwrap ( ) ;
389+ pending_events. push ( events:: MessageSendEvent :: SendGossipTimestampFilter {
390+ node_id : their_node_id. clone ( ) ,
391+ msg : msgs:: GossipTimestampFilter {
392+ chain_hash : genesis_block ( Network :: Testnet ) . header . block_hash ( ) ,
393+ first_timestamp : 0 ,
394+ timestamp_range : u32:: max_value ( ) ,
395+ } ,
396+ } ) ;
397+ }
386398
387399 fn handle_reply_channel_range ( & self , _their_node_id : & PublicKey , _msg : msgs:: ReplyChannelRange ) -> Result < ( ) , msgs:: LightningError > {
388400 Ok ( ( ) )
@@ -403,7 +415,10 @@ impl msgs::RoutingMessageHandler for TestRoutingMessageHandler {
403415
404416impl events:: MessageSendEventsProvider for TestRoutingMessageHandler {
405417 fn get_and_clear_pending_msg_events ( & self ) -> Vec < events:: MessageSendEvent > {
406- vec ! [ ]
418+ let mut ret = Vec :: new ( ) ;
419+ let mut pending_events = self . pending_events . lock ( ) . unwrap ( ) ;
420+ core:: mem:: swap ( & mut ret, & mut pending_events) ;
421+ ret
407422 }
408423}
409424
0 commit comments