chainHead: Limit ongoing operations (#14699)
* chainHead/api: Make storage/body/call pure RPC methods Signed-off-by:Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Add mpsc channel between RPC methods Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/subscriptions: Extract mpsc::Sender via BlockGuard Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/subscriptions: Generate and provide the method operation ID Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Generate `chainHead_body` response Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Generate `chainHead_call` response Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Generate `chainHead_storage` responses Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Propagate responses of methods to chainHead_follow Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Adjust `chainHead_body` responses Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Adjust `chainHead_call` responses Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Adjust `chainHead_call` responses Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Ensure unique operation IDs across methods Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/events: Remove old method events Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/subscriptions: Add limit helper Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/subscription: Expose limits to `BlockGuard` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Adjust testing to ongoing operations Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Make limits configurable via `ChainHeadConfig` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Adjust testing to `ChainHeadConfig` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/tests: Ensure operation limits discards items Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Improve documentation Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Rename `OngoingOperations` -> `LimitOperations` Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Rename reserve -> reserve_at_most Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead: Use duration const instead of u64 Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * chainHead/subscription: Use tokio::sync::Semaphore for limits Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> * Update client/rpc-spec-v2/src/chain_head/subscription/inner.rs Co-authored-by:
Sebastian Kunert <skunert49@gmail.com> --------- Signed-off-by:
Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by: parity-processbot <> Co-authored-by:
Sebastian Kunert <skunert49@gmail.com>
Showing
- substrate/client/rpc-spec-v2/Cargo.toml 1 addition, 0 deletionssubstrate/client/rpc-spec-v2/Cargo.toml
- substrate/client/rpc-spec-v2/src/chain_head/chain_head.rs 67 additions, 29 deletionssubstrate/client/rpc-spec-v2/src/chain_head/chain_head.rs
- substrate/client/rpc-spec-v2/src/chain_head/mod.rs 1 addition, 1 deletionsubstrate/client/rpc-spec-v2/src/chain_head/mod.rs
- substrate/client/rpc-spec-v2/src/chain_head/subscription/error.rs 4 additions, 4 deletions...e/client/rpc-spec-v2/src/chain_head/subscription/error.rs
- substrate/client/rpc-spec-v2/src/chain_head/subscription/inner.rs 141 additions, 16 deletions...e/client/rpc-spec-v2/src/chain_head/subscription/inner.rs
- substrate/client/rpc-spec-v2/src/chain_head/subscription/mod.rs 9 additions, 4 deletions...ate/client/rpc-spec-v2/src/chain_head/subscription/mod.rs
- substrate/client/rpc-spec-v2/src/chain_head/tests.rs 168 additions, 28 deletionssubstrate/client/rpc-spec-v2/src/chain_head/tests.rs
- substrate/client/service/src/builder.rs 3 additions, 18 deletionssubstrate/client/service/src/builder.rs
Please register or sign in to comment