* Ensure jsonrpc threading settings are sane
Starting with `jsonrpc` v14, the "server threads" setting is more important than before and the current default of 1 means the https server is effectively single-threaded. This PR proposes a new default of 4 (and ensures that crazy settings like e.g. `0` are bumped to at least `1`).
Also included: some docs, tests and cosmetics.
* Update parity/rpc.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update parity/rpc.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Remove (i.e. deprecate) `--jsonrpc-threads` command line option
* Call numbers NUM
* Don't show a default for --jsonrpc-threads (deprecated)
* Show deprecation warning when using `--jsonrpc-threads` or `processing_threads`
* Update parity/deprecated.rs
Co-Authored-By: Niklas Adolfsson <niklasadolfsson1@gmail.com>
* Fix test
* Fix tests for real
* Replace `tokio_core` with `tokio`.
* Remove `tokio-core` and replace with `tokio` in
- `ethcore/stratum`
- `secret_store`
- `util/fetch`
- `util/reactor`
* Bump hyper to 0.12 in
- `miner`
- `util/fake-fetch`
- `util/fetch`
- `secret_store`
* Bump `jsonrpc-***` to 0.9 in
- `parity`
- `ethcore/stratum`
- `ipfs`
- `rpc`
- `rpc_client`
- `whisper`
* Bump `ring` to 0.13
* Use a more graceful shutdown process in `secret_store` tests.
* Convert some mutexes to rwlocks in `secret_store`.
* Consolidate Tokio Runtime use, remove `CpuPool`.
* Rename and move the `tokio_reactor` crate (`util/reactor`) to
`tokio_runtime` (`util/runtime`).
* Rename `EventLoop` to `Runtime`.
- Rename `EventLoop::spawn` to `Runtime::with_default_thread_count`.
- Add the `Runtime::with_thread_count` method.
- Rename `Remote` to `Executor`.
* Remove uses of `CpuPool` and spawn all tasks via the `Runtime` executor
instead.
* Other changes related to `CpuPool` removal:
- Remove `Reservations::with_pool`. `::new` now takes an `Executor` as an argument.
- Remove `SenderReservations::with_pool`. `::new` now takes an `Executor` as an argument.
* Remove the dapps system from Parity
* Move node-health outside of dapps
* Fix set dapps list test
* Update Cargo.lock
* Deprecate options
* Add _legacy_ prefixes in Dapps
* Fix tests
* Fix deprecatedness of dapps-path
* Add option for user to set max size limit for RPC requests as requested in #8961.
* Add max_payload to tests.
* Change name for max payload option and change value from NUM to MB.
* Fix broken test.
* Fix incorrect indentation.
* Update `add_license` script
* run script
* add `remove duplicate lines script` and run it
* Revert changes `English spaces`
* strip whitespaces
* Revert `GPL` in files with `apache/mit license`
* don't append `gpl license` in files with other lic
* Don't append `gpl header` in files with other lic.
* re-ran script
* include c and cpp files too
* remove duplicate header
* rebase nit
* Enable UI by default, but only display info page.
* Fix test.
* Fix naming and remove old todo.
* Change "wallet" with "browser UI"
* Update text, its not deprecated, its moved
* created the dir crate in util
* moved code from ethstore/src/dir/paths.rs to dir crate
* rename dir module in ethstore to accounts_dir to distinguish it
from the dir crate
* changes after @tomusdrw on #6952
* Bump version.
* Fix RPC crate.
* Fix BoxFuture in crates.
* Compiles and passes tests!
* Get rid of .boxed()
* Fixing issues with the UI.
* Remove minihttp. Support threads.
* Reimplement files serving to do it in chunks.
* Increase chunk size.
* Remove some unecessary copying.
* Fix tests.
* Fix stratum warning and ipfs todo.
* Switch to proper branch of jsonrpc.
* Update Cargo.lock.
* Update docs.
* Include dapps-glue in workspace.
* fixed merge artifacts
* Fix test compilation.
* Node-health to a separate crate.
* Initialize node_health outside of dapps.
* Expose health over RPC.
* Bring back 412 and fix JS.
* Add health to workspace and tests.
* Fix compilation without default features.
* Fix borked merge.
* Revert to generics to avoid virtual calls.
* Fix node-health tests.
* Add missing trailing comma.
* Small improvements to time estimation.
* Allow multiple NTP servers to be used.
* Removing boxing.
* Be nice.
* Be nicer.
* Update list of servers and add reference.
* whisper skeleton
* basic message store
* rallying and message logic
* pass host info to network protocol handlers
* choose who starts rally based on node key
* module reshuffling
* mining messages
* prune messages by low PoW until below size target
* associated error type for ethkey generators and `OsRng` generator
* beginnings of RPC
* generic message handler for whisper
* reshuffle code order
* standard payload encoding and decoding
* basic crypto
* minor restructuring of net code
* implement shh_post
* merge?
* implement filters
* rand trait for hash types
* filter RPCs for whisper
* symmetric encryption of payload
* pub-sub
* filter tests
* use only secure random IDs
* attach arbitrary protocols to network
* basic integration of whisper into Parity
* eagerly prune low PoW entries
* broadcast messages with salted topics
* node info RPC
* fix import
* fix leading zeros calculation
* address minor grumbles
* Health endpoint.
* Asynchronous health endpoint.
* Configure time api URL via CLI.
* Tests for TimeChecker.
* Health indication on Status page.
* Adding status indication to tab titles.
* Add status to ParityBar.
* Fixing lints.
* Add health status on SyncWarning.
* Fix health URL for embed.
* Nicer messages.
* Fix tests.
* Fixing JS tests.
* NTP time sync (#5956)
* use NTP to check time drift
* update time module documentation
* replace time_api flag with ntp_server
* fix TimeChecker tests
* fix ntp-server flag usage
* hide status tooltip if there's no message to show
* remove TimeProvider trait
* use Cell in FakeNtp test trait
* share fetch client and ntp client cpu pool
* Add documentation to public method.
* Removing peer count from status.
* Remove unknown upgrade status.
* Send two time requests at the time.
* Revert "Send two time requests at the time."
This reverts commit f7b754b1155076a5a5d8fdafa022801fae324452.
* Defer reporting time synchronization issues.
* Fix tests.
* Fix linting.
* Adding CLI option for port shift and unsafe expose.
* Fixing IPC path.
* Fix hosts when attempting to expose on all interfaces.
* Fixing test.
* Fix typo.
* Dapps server as a middleware.
* Dapps RPC - Work in Progress
* Merging Dapps and RPC server.
* Fast HTTP server configuration.
* Bump jsonrpc
* Fixing test target
* Re-implementing commented-out tests.