Skip to content

Commit

Permalink
protocols/dcutr: Fix clippy lints (#2772)
Browse files Browse the repository at this point in the history
  • Loading branch information
elenaf9 committed Jul 28, 2022
1 parent 56c492c commit 09c6908
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 39 deletions.
61 changes: 28 additions & 33 deletions protocols/dcutr/src/behaviour.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ pub enum UpgradeError {
Handler(ConnectionHandlerUpgrErr<void::Void>),
}

#[derive(Default)]
pub struct Behaviour {
/// Queue of actions to return when polled.
queued_actions: VecDeque<ActionBuilder>,
Expand Down Expand Up @@ -145,40 +146,35 @@ impl NetworkBehaviour for Behaviour {
handler: Self::ConnectionHandler,
_error: &DialError,
) {
match handler {
handler::Prototype::DirectConnection {
relayed_connection_id,
role: handler::Role::Initiator { attempt },
} => {
let peer_id =
peer_id.expect("Peer of `Prototype::DirectConnection` is always known.");
if attempt < MAX_NUMBER_OF_UPGRADE_ATTEMPTS {
self.queued_actions.push_back(ActionBuilder::Connect {
if let handler::Prototype::DirectConnection {
relayed_connection_id,
role: handler::Role::Initiator { attempt },
} = handler
{
let peer_id = peer_id.expect("Peer of `Prototype::DirectConnection` is always known.");
if attempt < MAX_NUMBER_OF_UPGRADE_ATTEMPTS {
self.queued_actions.push_back(ActionBuilder::Connect {
peer_id,
handler: NotifyHandler::One(relayed_connection_id),
attempt: attempt + 1,
});
} else {
self.queued_actions.extend([
NetworkBehaviourAction::NotifyHandler {
peer_id,
handler: NotifyHandler::One(relayed_connection_id),
attempt: attempt + 1,
});
} else {
self.queued_actions.extend([
NetworkBehaviourAction::NotifyHandler {
peer_id,
handler: NotifyHandler::One(relayed_connection_id),
event: Either::Left(
handler::relayed::Command::UpgradeFinishedDontKeepAlive,
),
}
.into(),
NetworkBehaviourAction::GenerateEvent(
Event::DirectConnectionUpgradeFailed {
remote_peer_id: peer_id,
error: UpgradeError::Dial,
},
)
.into(),
]);
}
event: Either::Left(
handler::relayed::Command::UpgradeFinishedDontKeepAlive,
),
}
.into(),
NetworkBehaviourAction::GenerateEvent(Event::DirectConnectionUpgradeFailed {
remote_peer_id: peer_id,
error: UpgradeError::Dial,
})
.into(),
]);
}
_ => {}
}
}

Expand Down Expand Up @@ -324,7 +320,6 @@ impl NetworkBehaviour for Behaviour {

/// A [`NetworkBehaviourAction`], either complete, or still requiring data from [`PollParameters`]
/// before being returned in [`Behaviour::poll`].
#[allow(clippy::large_enum_variant)]
enum ActionBuilder {
Done(NetworkBehaviourAction<Event, handler::Prototype>),
Connect {
Expand All @@ -333,7 +328,7 @@ enum ActionBuilder {
peer_id: PeerId,
},
AcceptInboundConnect {
inbound_connect: protocol::inbound::PendingConnect,
inbound_connect: Box<protocol::inbound::PendingConnect>,
handler: NotifyHandler,
peer_id: PeerId,
},
Expand Down
12 changes: 6 additions & 6 deletions protocols/dcutr/src/handler/relayed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ pub enum Command {
},
AcceptInboundConnect {
obs_addrs: Vec<Multiaddr>,
inbound_connect: protocol::inbound::PendingConnect,
inbound_connect: Box<protocol::inbound::PendingConnect>,
},
/// Upgrading the relayed connection to a direct connection either failed for good or succeeded.
/// There is no need to keep the relayed connection alive for the sake of upgrading to a direct
Expand Down Expand Up @@ -76,7 +76,7 @@ impl fmt::Debug for Command {

pub enum Event {
InboundConnectRequest {
inbound_connect: protocol::inbound::PendingConnect,
inbound_connect: Box<protocol::inbound::PendingConnect>,
remote_addr: Multiaddr,
},
InboundNegotiationFailed {
Expand Down Expand Up @@ -201,7 +201,7 @@ impl ConnectionHandler for Handler {
};
self.queued_events.push_back(ConnectionHandlerEvent::Custom(
Event::InboundConnectRequest {
inbound_connect,
inbound_connect: Box::new(inbound_connect),
remote_addr,
},
));
Expand Down Expand Up @@ -245,9 +245,10 @@ impl ConnectionHandler for Handler {
inbound_connect,
obs_addrs,
} => {
if let Some(_) = self
if self
.inbound_connect
.replace(inbound_connect.accept(obs_addrs).boxed())
.is_some()
{
log::warn!(
"New inbound connect stream while still upgrading previous one. \
Expand Down Expand Up @@ -337,8 +338,7 @@ impl ConnectionHandler for Handler {
_ => {
// Anything else is considered a fatal error or misbehaviour of
// the remote peer and results in closing the connection.
self.pending_error =
Some(error.map_upgrade_err(|e| e.map_err(|e| EitherError::B(e))));
self.pending_error = Some(error.map_upgrade_err(|e| e.map_err(EitherError::B)));
}
}
}
Expand Down

0 comments on commit 09c6908

Please sign in to comment.