Skip to content

Commit 1fbd48d

Browse files
committed
kad: Move Error::AlreadyConnected handling into the match statement
Signed-off-by: Alexandru Vasile <[email protected]>
1 parent c4dc1ce commit 1fbd48d

File tree

1 file changed

+21
-21
lines changed
  • src/protocol/libp2p/kademlia

1 file changed

+21
-21
lines changed

src/protocol/libp2p/kademlia/mod.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -654,40 +654,40 @@ impl Kademlia {
654654
self.pending_substreams.insert(substream_id, peer);
655655
self.peers.entry(peer).or_default().pending_actions.insert(substream_id, action);
656656

657-
return Ok(());
657+
Ok(())
658658
}
659659
Err(err) => {
660660
tracing::trace!(target: LOG_TARGET, ?query, ?peer, ?err, "Failed to open substream. Dialing peer");
661661

662662
match self.service.dial(&peer) {
663663
Ok(()) => {
664664
self.pending_dials.entry(peer).or_default().push(action);
665-
return Ok(());
665+
Ok(())
666666
}
667667

668668
// Already connected is a recoverable error.
669-
Err(Error::AlreadyConnected) => (),
669+
Err(Error::AlreadyConnected) => {
670+
// Dial returned `Error::AlreadyConnected`, retry opening the substream.
671+
match self.service.open_substream(peer) {
672+
Ok(substream_id) => {
673+
self.pending_substreams.insert(substream_id, peer);
674+
self.peers
675+
.entry(peer)
676+
.or_default()
677+
.pending_actions
678+
.insert(substream_id, action);
679+
Ok(())
680+
}
681+
Err(err) => {
682+
tracing::trace!(target: LOG_TARGET, ?query, ?peer, ?err, "Failed to open substream a second time");
683+
Err(err)
684+
}
685+
}
686+
}
670687

671688
Err(error) => {
672689
tracing::trace!(target: LOG_TARGET, ?query, ?peer, ?error, "Failed to dial peer");
673-
return Err(error);
674-
}
675-
};
676-
677-
// Dial returned `Error::AlreadyConnected`, retry opening the substream.
678-
match self.service.open_substream(peer) {
679-
Ok(substream_id) => {
680-
self.pending_substreams.insert(substream_id, peer);
681-
self.peers
682-
.entry(peer)
683-
.or_default()
684-
.pending_actions
685-
.insert(substream_id, action);
686-
return Ok(());
687-
}
688-
Err(err) => {
689-
tracing::trace!(target: LOG_TARGET, ?query, ?peer, ?err, "Failed to open substream a second time");
690-
return Err(err);
690+
Err(error)
691691
}
692692
}
693693
}

0 commit comments

Comments
 (0)