Skip to content

Commit 2b9579c

Browse files
committed
fix: address reconnect review feedback
1 parent 9fa69e7 commit 2b9579c

3 files changed

Lines changed: 38 additions & 15 deletions

File tree

crates/fiber-lib/src/fiber/network.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ where
11601160
}
11611161
if let Some(session) = session {
11621162
debug!(
1163-
"Disconnecting peer {:?} session w {:?}ith reason {:?}",
1163+
"Disconnecting peer {:?} session {:?} with reason {:?}",
11641164
&pubkey, &session, &reason
11651165
);
11661166
state.control.disconnect(session).await?;

crates/fiber-lib/src/fiber/tests/channel.rs

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4434,18 +4434,31 @@ async fn test_peer_disconnect_with_active_channel_enters_backoff_reconnect() {
44344434

44354435
let (mut node_a, mut node_b, _new_channel_id, _) =
44364436
NetworkNode::new_2_nodes_with_established_channel(100000000000, 100000000000, true).await;
4437+
let saw_seeded = std::cell::Cell::new(false);
4438+
let saw_scheduled = std::cell::Cell::new(false);
4439+
let saw_disconnect = std::cell::Cell::new(false);
44374440

44384441
node_b.stop().await;
44394442

44404443
node_a
4441-
.expect_debug_event("PeerReconnectBackoffSeededByDisconnect")
4442-
.await;
4443-
node_a
4444-
.expect_debug_event("PeerReconnectBackoffScheduled")
4445-
.await;
4446-
node_a
4447-
.expect_event(|event| {
4448-
matches!(event, NetworkServiceEvent::PeerDisConnected(id, _) if id == &node_b.pubkey)
4444+
.expect_to_process_event(|event| {
4445+
match event {
4446+
NetworkServiceEvent::DebugEvent(DebugEvent::Common(msg))
4447+
if msg == "PeerReconnectBackoffSeededByDisconnect" =>
4448+
{
4449+
saw_seeded.set(true);
4450+
}
4451+
NetworkServiceEvent::DebugEvent(DebugEvent::Common(msg))
4452+
if msg == "PeerReconnectBackoffScheduled" =>
4453+
{
4454+
saw_scheduled.set(true);
4455+
}
4456+
NetworkServiceEvent::PeerDisConnected(id, _) if id == &node_b.pubkey => {
4457+
saw_disconnect.set(true);
4458+
}
4459+
_ => {}
4460+
}
4461+
(saw_seeded.get() && saw_scheduled.get() && saw_disconnect.get()).then_some(())
44494462
})
44504463
.await;
44514464
}

crates/fiber-lib/src/fiber/tests/network.rs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::{
99
fiber::{
1010
gossip::{GossipActorMessage, GossipMessageStore},
1111
graph::ChannelUpdateInfo,
12-
network::{AcceptChannelCommand, NetworkActorStateStore, OpenChannelCommand},
12+
network::{AcceptChannelCommand, DebugEvent, NetworkActorStateStore, OpenChannelCommand},
1313
payment::{SendPaymentCommand, SendPaymentDataExt},
1414
types::{
1515
broadcast_message_to_gossip, BroadcastMessageWithTimestamp,
@@ -750,15 +750,25 @@ async fn test_peer_disconnect_without_active_channel_skips_backoff_reconnect() {
750750
init_tracing();
751751

752752
let [mut node1, mut node2] = NetworkNode::new_n_interconnected_nodes().await;
753+
let saw_debug = std::cell::Cell::new(false);
754+
let saw_disconnect = std::cell::Cell::new(false);
753755

754756
node2.stop().await;
755757

756758
node1
757-
.expect_debug_event("PeerReconnectBackoffSkippedNoDirectChannel")
758-
.await;
759-
node1
760-
.expect_event(|event| {
761-
matches!(event, NetworkServiceEvent::PeerDisConnected(id, _) if id == &node2.pubkey)
759+
.expect_to_process_event(|event| {
760+
match event {
761+
NetworkServiceEvent::DebugEvent(DebugEvent::Common(msg))
762+
if msg == "PeerReconnectBackoffSkippedNoDirectChannel" =>
763+
{
764+
saw_debug.set(true);
765+
}
766+
NetworkServiceEvent::PeerDisConnected(id, _) if id == &node2.pubkey => {
767+
saw_disconnect.set(true);
768+
}
769+
_ => {}
770+
}
771+
(saw_debug.get() && saw_disconnect.get()).then_some(())
762772
})
763773
.await;
764774
}

0 commit comments

Comments
 (0)