* Expose that `BasicQueue` expects blocking spawn
Up to now `BasicQueue` expected a closure that to spawn a `Future`.
This was expected to be a closure that spawns a blocking future.
However, this wasn't documented anywhere. This pr introduces a new trait
`SpawnBlocking` that exposes this requirement to the outside.
* Feedback
* Add metrics about block requests
* Apply suggestions from code review
Co-Authored-By: Max Inden <mail@max-inden.de>
Co-authored-by: Gavin Wood <i@gavwood.com>
Co-authored-by: Max Inden <mail@max-inden.de>
* Drop client from sc-network and sc-client-db, move LongestChain to sc-client-api
* move leaves, cht, in_mem to sc-client-api, drop client from sc-finality-grandpa
* drop sc-service from sc-rpc
* drop sc-service from sc-consensus-aura
* drop sc-client from manual-seal and babe
* drop sc-client from utils/frame/rpc/system and utils/frame/benchmarking-cli
* drop sc-client from bin/node and bin/node-template
* drop sc-client
* fix tests
* remove check -p sc-client from gitlab.yml
* fix warnings
* fixes ui test
* fix light client tests
* adds associated Client type to AbstractService
* adds UsageProvider to Client
* fixed ui test, again
* tried and failed to get node-cli to compile for wasm
* thanks to tomaka for helping me get node-cli to compile for wasmm
* ui test pls pas 🙏🏾
* all tests passing 🪄
* no_run documentation code
* rm -f documentation code
* ClientProvider
* fix mega trait
* move LongestChain to sc-consensus, use adds minimal bounds to AbstractService::Client
* adds license to sc-consensus
Co-authored-by: Benjamin Kampmann <ben@parity.io>
* Fix error message when providing an incorrect peer-id
* Fix error message to cover all cases
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
* network: Only insert global addresses into the DHT.
Currently every address reported via libp2p-identify is inserted into
the DHT which thus contains a multitude of unreachable addresses such
as from 127.0.0.0/8 or 10.0.0.0/8.
Issue #5099 suggested a dedicated service over UDP to gauge the
reachability of an address, which would however incur extra I/O costs
and be of limited use.
As an alternative and simpler tactic, this PR only allows global IP
addresses to be inserted into the DHT unless an explicit command-line
flag `--allow-non-global-addresses-in-dht` is given or a node is
started with `--dev`. This opt-in behaviour is meant to allow
site-local networks to still make use of a DHT.
* Enable non-global in more test setups.
* Replace command-line option with different name.
* Another test fix.
* Make network_config_path an Option
* Fix network tests
* Use None as the network config path
* Fix cli
* Don't make PathBuf an Option in a cli context
* Turn kbuckets_num_nodes into a GaugeVec
* random_kademlia_queries -> kademlia_random_queries
* kademalia_random_queries_total now a CounterVec
* Add metrics about records store
* More robust ancestry search
* Punish peers for being on the wrong fork
* Update client/network/src/protocol/sync.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Add metrics for the events in the network output channels
* Documentation fixes
* A couple fixes
* Fix panic at destruction
* Rework for direct Prometheus integration
* Don't lock on the Receiver
* Another review address
* Address review
* Update client/network/src/service/out_events.rs
Co-Authored-By: Max Inden <mail@max-inden.de>
* Fix bad event name
* Fix descriptions
* Fix names
* client/network/service/out_events: Apply remaining suggestions
Co-authored-by: Max Inden <mail@max-inden.de>
* Add a failing test
* Make test not freeze
* Fix the bug
* Fix spaces
* Fix tests
* Apply suggestions from code review
Co-Authored-By: Toralf Wittner <tw@dtex.org>
* Make sure test doesn't succeed if nothing happened
* Fix build
* Do the events change
Co-authored-by: Toralf Wittner <tw@dtex.org>
* Add more Prometheus metrics
* Update client/network/src/service.rs
Co-Authored-By: Max Inden <mail@max-inden.de>
* Update client/network/src/service.rs
Co-Authored-By: Max Inden <mail@max-inden.de>
Co-authored-by: Gavin Wood <gavin@parity.io>
Co-authored-by: Max Inden <mail@max-inden.de>