Implement grid topology routing for the statement distribution subsystem (#5476)
* Move NewGossipTopology -> SessionGridTopology outside as this implementation is shared * Add method to return peers difference between topologies * Implement basic grid topology usage for the bitfield distribution * Fix tests * Oops, fix tests * Add some tests for random routing * Add a unit test for topology distribution * Store the current and the previous topology to match sessions boundaries * Update tests * Update node/network/bitfield-distribution/src/lib.rs Co-authored-by:Andronik <write@reusable.software> * Update node/network/protocol/src/grid_topology.rs Co-authored-by:
Andronik <write@reusable.software> * Update node/network/bitfield-distribution/src/lib.rs Co-authored-by:
Andronik <write@reusable.software> * Add some debug * Fix tests as HashSet order is undefined * Move session bounded topology to the common code part * Fix tests * Allow to select routing by peer index * Implement grid topology in the statement distribution subsystem * Fix tests compilation * Fix test * Refactor API slightly * Address review comments * Reduce runtime error logging severity * Update node/network/protocol/src/grid_topology.rs Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io> * Update node/network/bitfield-distribution/src/tests.rs Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io> * Fmt run * Use named struct * Fix logging stuff * One more accidental fmt damage * Increase active queue size and add metrics Signed-off-by:
Andrei Sandu <andrei-mihail@parity.io> * Revert "Increase active queue size and add metrics" This reverts commit c4f48e8bded6dfeb9c62814ba2f8d815c34b04cf. * Use validator index to choose the routing strategy Noted by: @rphmeier * Fix test after distribution logic fix Co-authored-by:
Andronik <write@reusable.software> Co-authored-by:
Bernhard Schuster <bernhard@ahoi.io> Co-authored-by:
Andrei Sandu <andrei-mihail@parity.io>
Showing
- polkadot/Cargo.lock 1 addition, 0 deletionspolkadot/Cargo.lock
- polkadot/node/network/approval-distribution/src/lib.rs 2 additions, 2 deletionspolkadot/node/network/approval-distribution/src/lib.rs
- polkadot/node/network/bitfield-distribution/src/lib.rs 13 additions, 47 deletionspolkadot/node/network/bitfield-distribution/src/lib.rs
- polkadot/node/network/bitfield-distribution/src/tests.rs 4 additions, 2 deletionspolkadot/node/network/bitfield-distribution/src/tests.rs
- polkadot/node/network/protocol/Cargo.toml 1 addition, 0 deletionspolkadot/node/network/protocol/Cargo.toml
- polkadot/node/network/protocol/src/grid_topology.rs 86 additions, 2 deletionspolkadot/node/network/protocol/src/grid_topology.rs
- polkadot/node/network/statement-distribution/src/lib.rs 58 additions, 30 deletionspolkadot/node/network/statement-distribution/src/lib.rs
- polkadot/node/network/statement-distribution/src/tests.rs 24 additions, 9 deletionspolkadot/node/network/statement-distribution/src/tests.rs
Please register or sign in to comment