Optimize TpuConnection and its implementations and refactor connection-cache to not use dyn in order to enable those changes (#23877) (#23909)

Co-authored-by: ryleung-solana <91908731+ryleung-solana@users.noreply.github.com>
This commit is contained in:
mergify[bot]
2022-03-25 19:09:26 +01:00
committed by GitHub
parent af79a86a72
commit c0d3cd145e
11 changed files with 267 additions and 48 deletions

View File

@ -1,7 +1,7 @@
use {
crate::tower_storage::{SavedTowerVersions, TowerStorage},
crossbeam_channel::Receiver,
solana_client::connection_cache::get_connection,
solana_client::connection_cache,
solana_gossip::cluster_info::ClusterInfo,
solana_measure::measure::Measure,
solana_poh::poh_recorder::PohRecorder,
@ -90,7 +90,8 @@ impl VotingService {
let mut measure = Measure::start("vote_tx_send-ms");
let target_address = target_address.unwrap_or_else(|| cluster_info.my_contact_info().tpu);
let _ = get_connection(&target_address).send_transaction(vote_op.tx());
let wire_vote_tx = bincode::serialize(vote_op.tx()).expect("vote serialization failure");
let _ = connection_cache::send_wire_transaction(&wire_vote_tx, &target_address);
measure.stop();
inc_new_counter_info!("vote_tx_send-ms", measure.as_ms() as usize);