Req/res optimization for statement distribution (#2803)
* Wip * Increase proposer timeout. * WIP. * Better timeout values now that we are going to be connected to all nodes. (#2778) * Better timeout values. * Fix typo. * Fix validator bandwidth. * Fix compilation. * Better and more consistent sizes. Most importantly code size is now 5 Meg, which is the limit we currently want to support in statement distribution. * Introduce statement fetching request. * WIP * Statement cache retrieval logic. * Review remarks by @rphmeier * Fixes. * Better requester logic. * WIP: Handle requester messages. * Missing dep. * Fix request launching logic. * Finish fetching logic. * Sending logic. * Redo code size calculations. Now that max code size is compressed size. * Update Cargo.lock (new dep) * Get request receiver to statement distribution. * Expose new functionality for responding to requests. * Cleanup. * Responder logic. * Fixes + Cleanup. * Cargo.lock * Whitespace. * Add lost copyright. * Launch responder task. * Typo. * info -> warn * Typo. * Fix. * Fix. * Update comment. * Doc fix. * Better large statement heuristics. * Fix tests. * Fix network bridge tests. * Add test for size estimate. * Very simple tests that checks we get LargeStatement. * Basic check, that fetching of large candidates is performed. * More tests. * Basic metrics for responder. * More metrics. * Use Encode::encoded_size(). * Some useful spans. * Get rid of redundant metrics. * Don't add peer on duplicate. * Properly check hash instead of relying on signatures alone. * Preserve ordering + better flood protection. * Get rid of redundant clone. * Don't shutdown responder on failed query. And add test for this. * Smaller fixes. * Quotes. * Better queue size calculation. * A bit saner response sizes. * Fixes.
Showing
- polkadot/Cargo.lock 2 additions, 0 deletionspolkadot/Cargo.lock
- polkadot/node/core/proposer/src/lib.rs 6 additions, 2 deletionspolkadot/node/core/proposer/src/lib.rs
- polkadot/node/network/bridge/src/lib.rs 61 additions, 3 deletionspolkadot/node/network/bridge/src/lib.rs
- polkadot/node/network/bridge/src/multiplexer.rs 24 additions, 1 deletionpolkadot/node/network/bridge/src/multiplexer.rs
- polkadot/node/network/protocol/src/lib.rs 63 additions, 5 deletionspolkadot/node/network/protocol/src/lib.rs
- polkadot/node/network/protocol/src/request_response/mod.rs 64 additions, 9 deletionspolkadot/node/network/protocol/src/request_response/mod.rs
- polkadot/node/network/protocol/src/request_response/request.rs 47 additions, 0 deletions...dot/node/network/protocol/src/request_response/request.rs
- polkadot/node/network/protocol/src/request_response/v1.rs 27 additions, 4 deletionspolkadot/node/network/protocol/src/request_response/v1.rs
- polkadot/node/network/statement-distribution/Cargo.toml 2 additions, 0 deletionspolkadot/node/network/statement-distribution/Cargo.toml
- polkadot/node/network/statement-distribution/src/lib.rs 982 additions, 142 deletionspolkadot/node/network/statement-distribution/src/lib.rs
- polkadot/node/network/statement-distribution/src/requester.rs 230 additions, 0 deletions...adot/node/network/statement-distribution/src/requester.rs
- polkadot/node/network/statement-distribution/src/responder.rs 169 additions, 0 deletions...adot/node/network/statement-distribution/src/responder.rs
- polkadot/node/overseer/src/lib.rs 1 addition, 1 deletionpolkadot/node/overseer/src/lib.rs
- polkadot/node/primitives/src/lib.rs 1 addition, 1 deletionpolkadot/node/primitives/src/lib.rs
- polkadot/node/service/src/chain_spec.rs 2 additions, 1 deletionpolkadot/node/service/src/chain_spec.rs
- polkadot/node/subsystem/src/messages.rs 7 additions, 13 deletionspolkadot/node/subsystem/src/messages.rs
- polkadot/primitives/src/v1.rs 5 additions, 0 deletionspolkadot/primitives/src/v1.rs
- polkadot/runtime/rococo/src/constants.rs 5 additions, 0 deletionspolkadot/runtime/rococo/src/constants.rs
- polkadot/runtime/rococo/src/lib.rs 8 additions, 3 deletionspolkadot/runtime/rococo/src/lib.rs
Please register or sign in to comment