Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/kbucket/bucket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ impl<TNodeId, TVal: Eq> PendingNode<TNodeId, TVal> {
self.node.status
}

pub fn value_mut(&mut self) -> &mut TVal {
&mut self.node.value
pub fn value(&self) -> &TVal {
&self.node.value
}

pub fn set_ready_at(&mut self, t: Instant) {
Expand Down
6 changes: 3 additions & 3 deletions src/kbucket/entry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,12 +175,12 @@ where
}

/// Returns the value associated with the key.
pub fn value(&mut self) -> &mut TVal {
pub fn value(&self) -> &TVal {
self.0
.bucket
.pending_mut()
.pending()
.expect("We can only build a ConnectedPendingEntry if the entry is pending; QED")
.value_mut()
.value()
}

/// Updates the status of the pending entry.
Expand Down
4 changes: 2 additions & 2 deletions src/query_pool/peers/closest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -324,8 +324,8 @@ where
/// Consumes the query, returning the target and the closest peers.
pub fn into_result(self) -> Vec<TNodeId> {
self.closest_peers
.into_iter()
.filter_map(|(_, peer)| {
.into_values()
.filter_map(|peer| {
if let QueryPeerState::Succeeded = peer.state {
Some(peer.key.into_preimage())
} else {
Expand Down
4 changes: 2 additions & 2 deletions src/query_pool/peers/predicate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -314,8 +314,8 @@ where
/// Consumes the query, returning the peers who match the predicate.
pub fn into_result(self) -> Vec<TNodeId> {
self.closest_peers
.into_iter()
.filter_map(|(_, peer)| {
.into_values()
.filter_map(|peer| {
if let QueryPeerState::Succeeded = peer.state {
if peer.predicate_match {
Some(peer.key.into_preimage())
Expand Down
24 changes: 9 additions & 15 deletions src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -616,17 +616,13 @@ impl Service {
// check if we need to update the known ENR
let mut to_request_enr = None;
match self.kbuckets.write().entry(&node_address.node_id.into()) {
kbucket::Entry::Present(ref mut entry, _) => {
if entry.value().seq() < enr_seq {
let enr = entry.value().clone();
to_request_enr = Some(enr);
}
kbucket::Entry::Present(ref entry, _) if entry.value().seq() < enr_seq => {
let enr = entry.value().clone();
to_request_enr = Some(enr);
}
kbucket::Entry::Pending(ref mut entry, _) => {
if entry.value().seq() < enr_seq {
let enr = entry.value().clone();
to_request_enr = Some(enr);
}
kbucket::Entry::Pending(ref entry, _) if entry.value().seq() < enr_seq => {
let enr = entry.value().clone();
to_request_enr = Some(enr);
}
// don't know the peer, don't request its most recent ENR
_ => {}
Expand Down Expand Up @@ -1276,7 +1272,7 @@ impl Service {

let must_update_enr = match self.kbuckets.write().entry(&key) {
kbucket::Entry::Present(entry, _) => entry.value().seq() < enr.seq(),
kbucket::Entry::Pending(mut entry, _) => entry.value().seq() < enr.seq(),
kbucket::Entry::Pending(entry, _) => entry.value().seq() < enr.seq(),
_ => false,
};

Expand All @@ -1297,10 +1293,8 @@ impl Service {
kbucket::Entry::Present(entry, _) if entry.value().seq() < enr.seq() => {
entry.remove()
}
kbucket::Entry::Pending(mut entry, _) => {
if entry.value().seq() < enr.seq() {
entry.remove()
}
kbucket::Entry::Pending(entry, _) if entry.value().seq() < enr.seq() => {
entry.remove()
}
_ => {}
}
Expand Down
Loading