solana/core/src
behzad nouri 5e8490ab9d
packs more crds-values in a single gossip packet (#13500)
split_gossip_messages:
https://github.com/solana-labs/solana/blob/a97c04b40/core/src/cluster_info.rs#L1536-L1574
splits crds-values into chunks to fit into a gossip packet. However it is
using a global upper-bound for the header-size across all protocols:
https://github.com/solana-labs/solana/blob/a97c04b40/core/src/cluster_info.rs#L90-L93
This can be wasteful as the specific gossip protocol can have smaller
header than this upper-bound (e.g. Protocol::PushMessage is 170 bytes
smaller). Adding more crds-values in one gossip packet can avoid the
overheads of separate packets and reduce total number of bytes sent over
the wire.

This commit updates the splitting function to take a max-chunk-size
argument. At call-site, this value is set to the size of the protocol
which the values are sent over.
2020-11-15 18:23:59 +00:00
..
broadcast_stage Add back shredding broadcast stats (#13463) 2020-11-09 23:04:27 -08:00
accounts_hash_verifier.rs Add separate push queue to reduce push lock contention (#12713) 2020-10-13 18:10:25 -07:00
bank_weight_fork_choice.rs Follow up to persistent tower with tests and API cleaning (#12350) 2020-10-19 16:37:03 +09:00
banking_stage.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
bigtable_upload_service.rs Add LARGEST_CONFIRMED_ROOT_UPLOAD_DELAY 2020-09-04 16:01:49 -07:00
broadcast_stage.rs Add back shredding broadcast stats (#13463) 2020-11-09 23:04:27 -08:00
cache_block_time_service.rs Native/builtin programs now receive an InvokeContext 2020-10-29 21:45:24 -07:00
cluster_info.rs packs more crds-values in a single gossip packet (#13500) 2020-11-15 18:23:59 +00:00
cluster_info_vote_listener.rs Clean up opt conf verifier and vote state tracker (#13081) 2020-10-24 10:19:12 +09:00
cluster_slots.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
cluster_slots_service.rs Add separate push queue to reduce push lock contention (#12713) 2020-10-13 18:10:25 -07:00
commitment_service.rs Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
completed_data_sets_service.rs Fix signature access (#13491) 2020-11-10 08:35:03 -08:00
consensus.rs Discard pre hard fork persisted tower if hard-forking (#13536) 2020-11-12 23:29:04 +09:00
contact_info.rs indexes nodes' contact infos in crds table (#13553) 2020-11-15 16:38:04 +00:00
crds.rs indexes nodes' contact infos in crds table (#13553) 2020-11-15 16:38:04 +00:00
crds_gossip.rs shares the lock on gossip when processing prune messages (#13339) 2020-11-05 15:42:00 +00:00
crds_gossip_error.rs
crds_gossip_pull.rs indexes nodes' contact infos in crds table (#13553) 2020-11-15 16:38:04 +00:00
crds_gossip_push.rs indexes nodes' contact infos in crds table (#13553) 2020-11-15 16:38:04 +00:00
crds_shards.rs Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
crds_value.rs indexes nodes' contact infos in crds table (#13553) 2020-11-15 16:38:04 +00:00
data_budget.rs implements DataBudget using atomics (#12856) 2020-10-15 11:33:58 +00:00
deprecated.rs Introduce automatic ABI maintenance mechanism (2/2; rollout) (#8012) 2020-07-06 20:22:23 +09:00
epoch_slots.rs Address latest nightly clippy lints, but globally disable stable_sort_primitive 2020-08-17 22:36:10 -07:00
fetch_stage.rs
fork_choice.rs Merge heaviest bank modules (#10672) 2020-06-18 03:59:08 +00:00
gen_keys.rs
gossip_service.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
heaviest_subtree_fork_choice.rs Fix log (#13207) 2020-10-27 18:56:57 -07:00
ledger_cleanup_service.rs Remove ledger purge batching (#10830) 2020-06-29 14:44:35 -07:00
lib.rs implements ping-pong packets between nodes (#12794) 2020-10-28 17:03:02 +00:00
local_vote_signer_service.rs
non_circulating_supply.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
optimistic_confirmation_verifier.rs Clean up opt conf verifier and vote state tracker (#13081) 2020-10-24 10:19:12 +09:00
optimistically_confirmed_bank_tracker.rs Rpc -> proper optimistic confirmation (#12514) 2020-09-28 20:43:05 -06:00
ping_pong.rs implements ping-pong packets between nodes (#12794) 2020-10-28 17:03:02 +00:00
poh_recorder.rs Skip grace blocks if previous leader was on different fork (#11679) 2020-08-19 08:16:24 +00:00
poh_service.rs
progress_map.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
pubkey_references.rs
repair_response.rs
repair_service.rs Reduce repair_stats debug (#13393) 2020-11-04 10:32:48 -08:00
repair_weight.rs Cleanup test utilities (#11723) 2020-08-20 05:04:38 +00:00
repair_weighted_traversal.rs Cleanup test utilities (#11723) 2020-08-20 05:04:38 +00:00
replay_stage.rs Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
result.rs Detect and notify when deserializable shreds are available (#11816) 2020-09-01 22:06:06 -07:00
retransmit_stage.rs Reduce debug (#13319) 2020-10-30 16:18:44 -07: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
rpc.rs Add stable program logging for BPF and native programs 2020-11-14 08:26:01 -08:00
rpc_health.rs
rpc_pubsub.rs Disable the PubSub vote subscription by default 2020-11-14 12:36:37 -08:00
rpc_pubsub_service.rs Disable the PubSub vote subscription by default 2020-11-14 12:36:37 -08:00
rpc_service.rs Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
rpc_subscriptions.rs Disable the PubSub vote subscription by default 2020-11-14 12:36:37 -08:00
sample_performance_service.rs Add blockstore column to store performance sampling data (#12251) 2020-09-22 12:26:32 -07:00
send_transaction_service.rs SendTransactionServices now exit their thread on channel drop instead of by a flag 2020-09-18 17:29:10 +00:00
serve_repair.rs Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
serve_repair_service.rs
shred_fetch_stage.rs Move BankForks to solana_runtime (#10637) 2020-06-17 15:27:03 +00:00
sigverify.rs
sigverify_shreds.rs Move BankForks to solana_runtime (#10637) 2020-06-17 15:27:03 +00:00
sigverify_stage.rs
snapshot_packager_service.rs Add CLI options and runtime support for selection of output snapshot version. (#10536) 2020-06-19 14:38:37 +09:00
test_validator.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
tpu.rs Rpc -> proper optimistic confirmation (#12514) 2020-09-28 20:43:05 -06:00
transaction_status_service.rs move Account to solana-sdk (#13198) 2020-10-28 22:01:07 -07:00
tree_diff.rs Add TreeDiff trait to reuse tree functions (#11046) 2020-07-14 07:38:48 +00:00
tvu.rs Rpc -> proper optimistic confirmation (#12514) 2020-09-28 20:43:05 -06:00
validator.rs Disable the PubSub vote subscription by default 2020-11-14 12:36:37 -08:00
verified_vote_packets.rs Remove unused pubkey::Pubkey imports 2020-10-21 19:08:13 -07:00
vote_stake_tracker.rs Clean up opt conf verifier and vote state tracker (#13081) 2020-10-24 10:19:12 +09:00
weighted_shuffle.rs
window_service.rs Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00