Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(kad): add Behavior::find_closest_local_peers() #5645

Merged
merged 2 commits into from
Oct 24, 2024

Merge branch 'master' into kad-local-peers-addresses

a2a8638
Select commit
Loading
Failed to load commit list.
Merged

feat(kad): add Behavior::find_closest_local_peers() #5645

Merge branch 'master' into kad-local-peers-addresses
a2a8638
Select commit
Loading
Failed to load commit list.
Mergify / Queue: Embarked in merge queue succeeded Oct 24, 2024 in 0s

The pull request embarked with master (6cb116e) will be merged soon

Required conditions for merge:

  • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • all of [📃 From pull request rule Add to merge queue]:
    • -closed [📌 queue requirement]
    • -conflict [📌 queue requirement]
    • -draft [📌 queue requirement]
    • base=master
    • label=send-it
    • any of [📌 queue -> configuration change requirements]:
      • -mergify-configuration-changed
      • check-success = Configuration changed
    • any of [🔀 queue conditions]:
      • all of [📌 queue conditions of queue default]:
        • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
        • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
        • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
        • any of [🛡 GitHub branch protection]:
          • check-success = Check rustdoc intra-doc links
          • check-neutral = Check rustdoc intra-doc links
          • check-skipped = Check rustdoc intra-doc links
        • any of [🛡 GitHub branch protection]:
          • check-success = rustfmt
          • check-neutral = rustfmt
          • check-skipped = rustfmt
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-metrics
          • check-neutral = Test libp2p-metrics
          • check-skipped = Test libp2p-metrics
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile on x86_64-apple-darwin
          • check-neutral = Compile on x86_64-apple-darwin
          • check-skipped = Compile on x86_64-apple-darwin
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile on x86_64-pc-windows-msvc
          • check-neutral = Compile on x86_64-pc-windows-msvc
          • check-skipped = Compile on x86_64-pc-windows-msvc
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-yamux
          • check-neutral = Test libp2p-yamux
          • check-skipped = Test libp2p-yamux
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-swarm
          • check-neutral = Test libp2p-swarm
          • check-skipped = Test libp2p-swarm
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-mdns
          • check-neutral = Test libp2p-mdns
          • check-skipped = Test libp2p-mdns
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-relay
          • check-neutral = Test libp2p-relay
          • check-skipped = Test libp2p-relay
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-uds
          • check-neutral = Test libp2p-uds
          • check-skipped = Test libp2p-uds
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-rendezvous
          • check-neutral = Test libp2p-rendezvous
          • check-skipped = Test libp2p-rendezvous
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p
          • check-neutral = Test libp2p
          • check-skipped = Test libp2p
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-noise
          • check-neutral = Test libp2p-noise
          • check-skipped = Test libp2p-noise
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-gossipsub
          • check-neutral = Test libp2p-gossipsub
          • check-skipped = Test libp2p-gossipsub
        • any of [🛡 GitHub branch protection]:
          • check-success = Test rw-stream-sink
          • check-neutral = Test rw-stream-sink
          • check-skipped = Test rw-stream-sink
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-dns
          • check-neutral = Test libp2p-dns
          • check-skipped = Test libp2p-dns
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-floodsub
          • check-neutral = Test libp2p-floodsub
          • check-skipped = Test libp2p-floodsub
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile with select features (mdns tcp dns async-std)
          • check-neutral = Compile with select features (mdns tcp dns async-std)
          • check-skipped = Compile with select features (mdns tcp dns async-std)
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-swarm-derive
          • check-neutral = Test libp2p-swarm-derive
          • check-skipped = Test libp2p-swarm-derive
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-pnet
          • check-neutral = Test libp2p-pnet
          • check-skipped = Test libp2p-pnet
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-tls
          • check-neutral = Test libp2p-tls
          • check-skipped = Test libp2p-tls
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile on wasm32-wasi
          • check-neutral = Compile on wasm32-wasi
          • check-skipped = Compile on wasm32-wasi
        • any of [🛡 GitHub branch protection]:
          • check-success = Test multistream-select
          • check-neutral = Test multistream-select
          • check-skipped = Test multistream-select
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-kad
          • check-neutral = Test libp2p-kad
          • check-skipped = Test libp2p-kad
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-core
          • check-neutral = Test libp2p-core
          • check-skipped = Test libp2p-core
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-tcp
          • check-neutral = Test libp2p-tcp
          • check-skipped = Test libp2p-tcp
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-websocket
          • check-neutral = Test libp2p-websocket
          • check-skipped = Test libp2p-websocket
        • any of [🛡 GitHub branch protection]:
          • check-success = IPFS Integration tests
          • check-neutral = IPFS Integration tests
          • check-skipped = IPFS Integration tests
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-identify
          • check-neutral = Test libp2p-identify
          • check-skipped = Test libp2p-identify
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-dcutr
          • check-neutral = Test libp2p-dcutr
          • check-skipped = Test libp2p-dcutr
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile on wasm32-unknown-emscripten
          • check-neutral = Compile on wasm32-unknown-emscripten
          • check-skipped = Compile on wasm32-unknown-emscripten
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile with select features (mdns tcp dns tokio)
          • check-neutral = Compile with select features (mdns tcp dns tokio)
          • check-skipped = Compile with select features (mdns tcp dns tokio)
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-request-response
          • check-neutral = Test libp2p-request-response
          • check-skipped = Test libp2p-request-response
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile on wasm32-unknown-unknown
          • check-neutral = Compile on wasm32-unknown-unknown
          • check-skipped = Compile on wasm32-unknown-unknown
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-mplex
          • check-neutral = Test libp2p-mplex
          • check-skipped = Test libp2p-mplex
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-ping
          • check-neutral = Test libp2p-ping
          • check-skipped = Test libp2p-ping
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-plaintext
          • check-neutral = Test libp2p-plaintext
          • check-skipped = Test libp2p-plaintext
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-autonat
          • check-neutral = Test libp2p-autonat
          • check-skipped = Test libp2p-autonat
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-quic
          • check-neutral = Test libp2p-quic
          • check-skipped = Test libp2p-quic
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-webrtc
          • check-neutral = Test libp2p-webrtc
          • check-skipped = Test libp2p-webrtc
        • any of [🛡 GitHub branch protection]:
          • check-success = Test quick-protobuf-codec
          • check-neutral = Test quick-protobuf-codec
          • check-skipped = Test quick-protobuf-codec
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-identity
          • check-neutral = Test libp2p-identity
          • check-skipped = Test libp2p-identity
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-allow-block-list
          • check-neutral = Test libp2p-allow-block-list
          • check-skipped = Test libp2p-allow-block-list
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-swarm-test
          • check-neutral = Test libp2p-swarm-test
          • check-skipped = Test libp2p-swarm-test
        • any of [🛡 GitHub branch protection]:
          • check-success = Check for changes in proto files
          • check-neutral = Check for changes in proto files
          • check-skipped = Check for changes in proto files
        • any of [🛡 GitHub branch protection]:
          • check-success = Ensure that Cargo.lock is up-to-date
          • check-neutral = Ensure that Cargo.lock is up-to-date
          • check-skipped = Ensure that Cargo.lock is up-to-date
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-connection-limits
          • check-neutral = Test libp2p-connection-limits
          • check-skipped = Test libp2p-connection-limits
        • any of [🛡 GitHub branch protection]:
          • check-success = examples
          • check-neutral = examples
          • check-skipped = examples
        • any of [🛡 GitHub branch protection]:
          • check-success = Run all WASM tests
          • check-neutral = Run all WASM tests
          • check-skipped = Run all WASM tests
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-memory-connection-limits
          • check-neutral = Test libp2p-memory-connection-limits
          • check-skipped = Test libp2p-memory-connection-limits
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-webtransport-websys
          • check-neutral = Test libp2p-webtransport-websys
          • check-skipped = Test libp2p-webtransport-websys
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-perf
          • check-neutral = Test libp2p-perf
          • check-skipped = Test libp2p-perf
        • any of [🛡 GitHub branch protection]:
          • check-success = Compile with MSRV
          • check-neutral = Compile with MSRV
          • check-skipped = Compile with MSRV
        • any of [🛡 GitHub branch protection]:
          • check-success = manifest_lint
          • check-neutral = manifest_lint
          • check-skipped = manifest_lint
        • any of [🛡 GitHub branch protection]:
          • check-success = Test libp2p-server
          • check-neutral = Test libp2p-server
          • check-skipped = Test libp2p-server
  • any of [🛡 GitHub branch protection]:
    • check-success = Check rustdoc intra-doc links
    • check-neutral = Check rustdoc intra-doc links
    • check-skipped = Check rustdoc intra-doc links
  • any of [🛡 GitHub branch protection]:
    • check-success = rustfmt
    • check-neutral = rustfmt
    • check-skipped = rustfmt
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-metrics
    • check-neutral = Test libp2p-metrics
    • check-skipped = Test libp2p-metrics
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile on x86_64-apple-darwin
    • check-neutral = Compile on x86_64-apple-darwin
    • check-skipped = Compile on x86_64-apple-darwin
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile on x86_64-pc-windows-msvc
    • check-neutral = Compile on x86_64-pc-windows-msvc
    • check-skipped = Compile on x86_64-pc-windows-msvc
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-yamux
    • check-neutral = Test libp2p-yamux
    • check-skipped = Test libp2p-yamux
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-swarm
    • check-neutral = Test libp2p-swarm
    • check-skipped = Test libp2p-swarm
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-mdns
    • check-neutral = Test libp2p-mdns
    • check-skipped = Test libp2p-mdns
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-relay
    • check-neutral = Test libp2p-relay
    • check-skipped = Test libp2p-relay
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-uds
    • check-neutral = Test libp2p-uds
    • check-skipped = Test libp2p-uds
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-rendezvous
    • check-neutral = Test libp2p-rendezvous
    • check-skipped = Test libp2p-rendezvous
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p
    • check-neutral = Test libp2p
    • check-skipped = Test libp2p
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-noise
    • check-neutral = Test libp2p-noise
    • check-skipped = Test libp2p-noise
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-gossipsub
    • check-neutral = Test libp2p-gossipsub
    • check-skipped = Test libp2p-gossipsub
  • any of [🛡 GitHub branch protection]:
    • check-success = Test rw-stream-sink
    • check-neutral = Test rw-stream-sink
    • check-skipped = Test rw-stream-sink
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-dns
    • check-neutral = Test libp2p-dns
    • check-skipped = Test libp2p-dns
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-floodsub
    • check-neutral = Test libp2p-floodsub
    • check-skipped = Test libp2p-floodsub
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile with select features (mdns tcp dns async-std)
    • check-neutral = Compile with select features (mdns tcp dns async-std)
    • check-skipped = Compile with select features (mdns tcp dns async-std)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-swarm-derive
    • check-neutral = Test libp2p-swarm-derive
    • check-skipped = Test libp2p-swarm-derive
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-pnet
    • check-neutral = Test libp2p-pnet
    • check-skipped = Test libp2p-pnet
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-tls
    • check-neutral = Test libp2p-tls
    • check-skipped = Test libp2p-tls
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile on wasm32-wasi
    • check-neutral = Compile on wasm32-wasi
    • check-skipped = Compile on wasm32-wasi
  • any of [🛡 GitHub branch protection]:
    • check-success = Test multistream-select
    • check-neutral = Test multistream-select
    • check-skipped = Test multistream-select
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-kad
    • check-neutral = Test libp2p-kad
    • check-skipped = Test libp2p-kad
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-core
    • check-neutral = Test libp2p-core
    • check-skipped = Test libp2p-core
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-tcp
    • check-neutral = Test libp2p-tcp
    • check-skipped = Test libp2p-tcp
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-websocket
    • check-neutral = Test libp2p-websocket
    • check-skipped = Test libp2p-websocket
  • any of [🛡 GitHub branch protection]:
    • check-success = IPFS Integration tests
    • check-neutral = IPFS Integration tests
    • check-skipped = IPFS Integration tests
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-identify
    • check-neutral = Test libp2p-identify
    • check-skipped = Test libp2p-identify
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-dcutr
    • check-neutral = Test libp2p-dcutr
    • check-skipped = Test libp2p-dcutr
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile on wasm32-unknown-emscripten
    • check-neutral = Compile on wasm32-unknown-emscripten
    • check-skipped = Compile on wasm32-unknown-emscripten
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile with select features (mdns tcp dns tokio)
    • check-neutral = Compile with select features (mdns tcp dns tokio)
    • check-skipped = Compile with select features (mdns tcp dns tokio)
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-request-response
    • check-neutral = Test libp2p-request-response
    • check-skipped = Test libp2p-request-response
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile on wasm32-unknown-unknown
    • check-neutral = Compile on wasm32-unknown-unknown
    • check-skipped = Compile on wasm32-unknown-unknown
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-mplex
    • check-neutral = Test libp2p-mplex
    • check-skipped = Test libp2p-mplex
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-ping
    • check-neutral = Test libp2p-ping
    • check-skipped = Test libp2p-ping
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-plaintext
    • check-neutral = Test libp2p-plaintext
    • check-skipped = Test libp2p-plaintext
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-autonat
    • check-neutral = Test libp2p-autonat
    • check-skipped = Test libp2p-autonat
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-quic
    • check-neutral = Test libp2p-quic
    • check-skipped = Test libp2p-quic
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-webrtc
    • check-neutral = Test libp2p-webrtc
    • check-skipped = Test libp2p-webrtc
  • any of [🛡 GitHub branch protection]:
    • check-success = Test quick-protobuf-codec
    • check-neutral = Test quick-protobuf-codec
    • check-skipped = Test quick-protobuf-codec
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-identity
    • check-neutral = Test libp2p-identity
    • check-skipped = Test libp2p-identity
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-allow-block-list
    • check-neutral = Test libp2p-allow-block-list
    • check-skipped = Test libp2p-allow-block-list
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-swarm-test
    • check-neutral = Test libp2p-swarm-test
    • check-skipped = Test libp2p-swarm-test
  • any of [🛡 GitHub branch protection]:
    • check-success = Check for changes in proto files
    • check-neutral = Check for changes in proto files
    • check-skipped = Check for changes in proto files
  • any of [🛡 GitHub branch protection]:
    • check-success = Ensure that Cargo.lock is up-to-date
    • check-neutral = Ensure that Cargo.lock is up-to-date
    • check-skipped = Ensure that Cargo.lock is up-to-date
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-connection-limits
    • check-neutral = Test libp2p-connection-limits
    • check-skipped = Test libp2p-connection-limits
  • any of [🛡 GitHub branch protection]:
    • check-success = examples
    • check-neutral = examples
    • check-skipped = examples
  • any of [🛡 GitHub branch protection]:
    • check-success = Run all WASM tests
    • check-neutral = Run all WASM tests
    • check-skipped = Run all WASM tests
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-memory-connection-limits
    • check-neutral = Test libp2p-memory-connection-limits
    • check-skipped = Test libp2p-memory-connection-limits
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-webtransport-websys
    • check-neutral = Test libp2p-webtransport-websys
    • check-skipped = Test libp2p-webtransport-websys
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-perf
    • check-neutral = Test libp2p-perf
    • check-skipped = Test libp2p-perf
  • any of [🛡 GitHub branch protection]:
    • check-success = Compile with MSRV
    • check-neutral = Compile with MSRV
    • check-skipped = Compile with MSRV
  • any of [🛡 GitHub branch protection]:
    • check-success = manifest_lint
    • check-neutral = manifest_lint
    • check-skipped = manifest_lint
  • any of [🛡 GitHub branch protection]:
    • check-success = Test libp2p-server
    • check-neutral = Test libp2p-server
    • check-skipped = Test libp2p-server

Check-runs and statuses of the embarked pull request #5645:

clippy (beta) details
Check for changes in proto files details
Check rustdoc intra-doc links details
Compile on wasm32-unknown-emscripten details
Compile on wasm32-unknown-unknown details
Compile on wasm32-wasi details
Compile on x86_64-apple-darwin details
Compile on x86_64-pc-windows-msvc details
Compile with MSRV details
Compile with select features (mdns tcp dns async-std) details
Compile with select features (mdns tcp dns tokio) details
Ensure that `Cargo.lock` is up-to-date details
IPFS Integration tests details
Run all WASM tests details
Test libp2p details
Test libp2p-allow-block-list details
Test libp2p-autonat details
Test libp2p-connection-limits details
Test libp2p-core details
Test libp2p-dcutr details
Test libp2p-dns details
Test libp2p-floodsub details
Test libp2p-gossipsub details
Test libp2p-identify details
Test libp2p-identity details
Test libp2p-kad details
Test libp2p-mdns details
Test libp2p-memory-connection-limits details
Test libp2p-metrics details
Test libp2p-mplex details
Test libp2p-noise details
Test libp2p-perf details
Test libp2p-ping details
Test libp2p-plaintext details
Test libp2p-pnet details
Test libp2p-quic details
Test libp2p-relay details
Test libp2p-rendezvous details
Test libp2p-request-response details
Test libp2p-server details
Test libp2p-stream details
Test libp2p-swarm details
Test libp2p-swarm-derive details
Test libp2p-swarm-test details
Test libp2p-tcp details
Test libp2p-tls details
Test libp2p-uds details
Test libp2p-upnp details
Test libp2p-webrtc details
Test libp2p-webrtc-utils details
Test libp2p-webrtc-websys details
Test libp2p-websocket details
Test libp2p-websocket-websys details
Test libp2p-webtransport-websys details
Test libp2p-yamux details
Test multistream-select details
Test quick-protobuf-codec details
Test rw-stream-sink details
cargo-deny details
clippy (1.80.0) details
examples details
gather_published_crates details
main / Validate PR title details
manifest_lint details
rustfmt details
semver details