Skip to content

Commit 4d647d8

Browse files
committed
Implement peer_connected for TestRoutingMessageHandler.
1 parent 40b7207 commit 4d647d8

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

lightning/src/ln/peer_handler.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,6 +1069,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref, CMH: Deref> P
10691069

10701070
log_info!(self.logger, "Received peer Init message from {}: {}", log_pubkey!(peer.their_node_id.unwrap()), msg.features);
10711071

1072+
// For peers not supporting gossip queries start sync now, otherwise wait until we receive a filter.
10721073
if msg.features.initial_routing_sync() && !msg.features.supports_gossip_queries() {
10731074
peer.sync_status = InitSyncTracker::ChannelsSyncing(0);
10741075
}

lightning/src/util/test_utils.rs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,13 +341,15 @@ fn get_dummy_channel_update(short_chan_id: u64) -> msgs::ChannelUpdate {
341341
pub struct TestRoutingMessageHandler {
342342
pub chan_upds_recvd: AtomicUsize,
343343
pub chan_anns_recvd: AtomicUsize,
344+
pending_events: Mutex<Vec<events::MessageSendEvent>>,
344345
}
345346

346347
impl 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

404416
impl 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

Comments
 (0)