solana/core/src
behzad nouri 04787be8b1
encapsulates turbine peers computations of broadcast & retransmit stages (#18238)
Broadcast stage and retransmit stage should arrange nodes on turbine
broadcast tree in exactly same order. Additionally any changes to this
ordering (e.g. updating how unstaked nodes are handled) requires feature
gating to keep the cluster in sync.

Current implementation is scattered out over several public methods and
exposes too much of implementation details (e.g. usize indices into
peers vector) which makes code changes and checking for feature
activations more difficult.

This commit encapsulates turbine peer computations into a new struct,
and only exposes two public methods, get_broadcast_peer and
get_retransmit_peers, for call-sites.
2021-07-07 00:35:25 +00:00
..
broadcast_stage encapsulates turbine peers computations of broadcast & retransmit stages (#18238) 2021-07-07 00:35:25 +00:00
accounts_hash_verifier.rs Move SnapshotConfig into its own module (#18331) 2021-07-01 08:55:26 -05:00
banking_stage.rs Aggregate cost_model into cost_tracker (#18374) 2021-07-06 15:41:25 +00:00
broadcast_stage.rs encapsulates turbine peers computations of broadcast & retransmit stages (#18238) 2021-07-07 00:35:25 +00:00
cache_block_meta_service.rs Add block height to ConfirmedBlock structs (#17523) 2021-05-26 22:16:16 -06:00
cluster_info_vote_listener.rs Drop Error suffix from enum values to avoid the enum_variant_names clippy lint 2021-06-18 23:02:13 +00:00
cluster_nodes.rs encapsulates turbine peers computations of broadcast & retransmit stages (#18238) 2021-07-07 00:35:25 +00:00
cluster_slot_state_verifier.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
cluster_slots.rs Move gossip modules into solana-gossip crate (#17352) 2021-05-26 09:15:46 -06:00
cluster_slots_service.rs Switch EpochSlots to be frozen slots, not completed slots (#17168) 2021-06-03 00:20:00 +00:00
commitment_service.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
completed_data_sets_service.rs Create solana-rpc crate and move subscriptions (#17320) 2021-05-19 00:54:28 -06:00
consensus.rs Rename Tower::lockouts to Tower::vote_state 2021-07-02 18:35:49 -07:00
cost_model.rs Remove feature switch for demoting sysvar write locks (#18373) 2021-07-06 21:22:22 +00:00
cost_tracker.rs Aggregate cost_model into cost_tracker (#18374) 2021-07-06 15:41:25 +00:00
cost_update_service.rs Persist cost table to blockstore (#18123) 2021-07-01 11:32:41 -05:00
execute_cost_table.rs investigate system performance test degradation (#17919) 2021-06-28 21:34:04 -05:00
fetch_stage.rs Drop Error suffix from enum values to avoid the enum_variant_names clippy lint 2021-06-18 23:02:13 +00:00
fork_choice.rs Ingest votes from gossip into fork choice (#16560) 2021-04-21 14:40:35 -07:00
gen_keys.rs
heaviest_subtree_fork_choice.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
latest_validator_votes_for_frozen_banks.rs Integrate gossip votes into switching threshold (#16973) 2021-05-04 00:51:42 -07:00
ledger_cleanup_service.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
lib.rs encapsulates turbine peers computations of broadcast & retransmit stages (#18238) 2021-07-07 00:35:25 +00:00
optimistic_confirmation_verifier.rs Make set roots an iterator (#18357) 2021-07-01 20:02:40 -07:00
outstanding_requests.rs Add non-default repair nonce values (#16512) 2021-04-20 09:37:33 -07:00
packet_hasher.rs Partial shred deserialize cleanup and shred type differentiation (#14094) 2020-12-15 16:50:40 -08:00
progress_map.rs Add batch stats (#18096) 2021-06-22 15:23:26 +02:00
repair_response.rs master: Add nonce to shreds repairs, add shred data size to header (#10109) 2020-05-19 12:38:18 -07:00
repair_service.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
repair_weight.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
repair_weighted_traversal.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
replay_stage.rs log warning when channel send fails (#18391) 2021-07-02 19:04:09 +00:00
request_response.rs Add non-default repair nonce values (#16512) 2021-04-20 09:37:33 -07:00
result.rs Drop Error suffix from enum values to avoid the enum_variant_names clippy lint 2021-06-18 23:02:13 +00:00
retransmit_stage.rs encapsulates turbine peers computations of broadcast & retransmit stages (#18238) 2021-07-07 00:35:25 +00:00
rewards_recorder_service.rs Expose all rewards (fees, rent, voting and staking) in RPC getConfirmedBlock and the cli 2020-10-09 21:54:13 -07:00
sample_performance_service.rs obtains staked-nodes from the root-bank (#14257) 2020-12-27 13:28:05 +00:00
serve_repair.rs serve_repair: Remove internal ContactInfo field duplication 2021-06-21 17:23:49 -07:00
serve_repair_service.rs serve_repair: Remove internal ContactInfo field duplication 2021-06-21 17:23:49 -07:00
shred_fetch_stage.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
sigverify.rs Revert "Add limit and shrink policy for recycler (#15320)" 2021-04-18 19:29:24 +00:00
sigverify_shreds.rs Upgrade Rust to 1.52.0 (#17096) 2021-05-19 09:31:47 -05:00
sigverify_stage.rs Drop Error suffix from enum values to avoid the enum_variant_names clippy lint 2021-06-18 23:02:13 +00:00
snapshot_packager_service.rs Add SnapshotArchiveInfo and refactor functions in snapshot_utils (#18232) 2021-07-01 12:20:56 -05:00
test_validator.rs Add ability to change the validator identity at runtime 2021-07-01 17:50:04 -07:00
tpu.rs Aggregate cost_model into cost_tracker (#18374) 2021-07-06 15:41:25 +00:00
tree_diff.rs Allow fork choice to support multiple versions of a slot (#16266) 2021-04-12 01:00:59 -07:00
tvu.rs Persist cost table to blockstore (#18123) 2021-07-01 11:32:41 -05:00
unfrozen_gossip_verified_vote_hashes.rs chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
validator.rs Add ability to change the validator identity at runtime 2021-07-01 17:50:04 -07:00
verified_vote_packets.rs Drop Error suffix from enum values to avoid the enum_variant_names clippy lint 2021-06-18 23:02:13 +00:00
vote_stake_tracker.rs Setup ReplayStage confirmation scaffolding for duplicate slots (#9698) 2021-03-24 23:41:52 -07:00
window_service.rs Add repair number per slot (#18082) 2021-06-30 18:20:07 +02:00