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

Add an example showcasing how to implement a custom network behavior and access streams #4983

Closed
wants to merge 9 commits into from

update mpsc

aef8c2f
Select commit
Loading
Failed to load commit list.
Closed

Add an example showcasing how to implement a custom network behavior and access streams #4983

update mpsc
aef8c2f
Select commit
Loading
Failed to load commit list.
Mergify / Summary succeeded Dec 24, 2023 in 2s

3 potential rules

Rule: Ask to resolve conflict (comment)

  • conflict
  • any of:
    • -draft
    • all of:
      • milestone~=v[0-9]\.[0-9]{2}
      • draft
  • -author=dependabot[bot]

Rule: Add to merge queue (queue)

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

Rule: Remove reviews on updates after PR is queued for merging (dismiss_reviews)

  • label=send-it
  • author!=@libp2p/rust-libp2p-maintainers
  • author!=dependabot[bot]
  • base=master

💖  Mergify is proud to provide this service for free to open source projects.

🚀  You can help us by becoming a sponsor!


3 not applicable rules

Rule: Add approved dependabot PRs to merge queue (queue)

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

Rule: Approve trivial maintainer PRs (review)

  • author=@libp2p/rust-libp2p-maintainers
  • label=trivial
  • base=master

Rule: Approve dependabot PRs of semver-compatible updates (review)

  • author=dependabot[bot]
  • any of:
    • title~=bump [^\s]+ from ([1-9]+)\..+ to \1\.
    • title~=bump [^\s]+ from 0\.([\d]+)\..+ to 0\.\1\.
Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com