mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-28 01:01:34 +00:00
[libp2p-kad] Scope pending RPCs to queries. (#1217)
* Remove pending RPCs on query completion. Ensure that any still pending RPCs related to a query are removed once the query terminates (successfully or through timeout) by scoping pending RPCs to the lifetime of a query. * Cleanup.
This commit is contained in:
committed by
Pierre Krieger
parent
bcfb647e65
commit
5696b3eb4d
@ -188,6 +188,7 @@ fn query_iter() {
|
||||
Async::Ready(Some(KademliaEvent::GetClosestPeersResult(Ok(ok)))) => {
|
||||
assert_eq!(ok.key, search_target);
|
||||
assert_eq!(swarm_ids[i], expected_swarm_id);
|
||||
assert_eq!(swarm.queries.size(), 0);
|
||||
assert!(expected_peer_ids.iter().all(|p| ok.peers.contains(p)));
|
||||
let key = kbucket::Key::new(ok.key);
|
||||
assert_eq!(expected_distances, distances(&key, ok.peers));
|
||||
@ -420,6 +421,7 @@ fn put_record() {
|
||||
|
||||
if republished {
|
||||
assert_eq!(swarms[0].store.records().count(), records.len());
|
||||
assert_eq!(swarms[0].queries.size(), 0);
|
||||
for k in records.keys() {
|
||||
swarms[0].store.remove(&k);
|
||||
}
|
||||
|
Reference in New Issue
Block a user