From 95ac6305bc56101c05dcc2501230ced43981215b Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Wed, 6 Feb 2019 21:09:46 -0800 Subject: [PATCH] Remove unnecessary dependencies on fullnode mod --- src/banking_stage.rs | 3 +-- src/fullnode.rs | 9 ++------- src/poh_service.rs | 11 ++++++----- src/replay_stage.rs | 3 +-- src/tpu.rs | 6 ++++-- src/tvu.rs | 6 ++++-- 6 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/banking_stage.rs b/src/banking_stage.rs index 9d5d79ae5d..1a376119c6 100644 --- a/src/banking_stage.rs +++ b/src/banking_stage.rs @@ -6,14 +6,13 @@ use crate::bank::{Bank, BankError}; use crate::compute_leader_confirmation_service::ComputeLeaderConfirmationService; use crate::counter::Counter; use crate::entry::Entry; -use crate::fullnode::TpuRotationSender; use crate::packet::Packets; use crate::poh_recorder::{PohRecorder, PohRecorderError}; use crate::poh_service::{Config, PohService}; use crate::result::{Error, Result}; use crate::service::Service; use crate::sigverify_stage::VerifiedPackets; -use crate::tpu::TpuReturnType; +use crate::tpu::{TpuReturnType, TpuRotationSender}; use bincode::deserialize; use log::Level; use solana_sdk::hash::Hash; diff --git a/src/fullnode.rs b/src/fullnode.rs index fb58849d8a..cd5e2f917b 100644 --- a/src/fullnode.rs +++ b/src/fullnode.rs @@ -12,8 +12,8 @@ use crate::rpc_pubsub::PubSubService; use crate::service::Service; use crate::storage_stage::StorageState; use crate::streamer::BlobSender; -use crate::tpu::{Tpu, TpuReturnType}; -use crate::tvu::{Sockets, Tvu, TvuReturnType}; +use crate::tpu::{Tpu, TpuReturnType, TpuRotationReceiver}; +use crate::tvu::{Sockets, Tvu, TvuReturnType, TvuRotationReceiver}; use crate::voting_keypair::VotingKeypair; use log::Level; use solana_sdk::hash::Hash; @@ -28,11 +28,6 @@ use std::sync::{Arc, RwLock}; use std::thread::{spawn, Result}; use std::time::{Duration, Instant}; -pub type TvuRotationSender = Sender; -pub type TpuRotationSender = Sender; -type TvuRotationReceiver = Receiver; -type TpuRotationReceiver = Receiver; - struct NodeServices { tpu: Tpu, tvu: Tvu, diff --git a/src/poh_service.rs b/src/poh_service.rs index b33f6b5516..5f59f351a6 100644 --- a/src/poh_service.rs +++ b/src/poh_service.rs @@ -1,25 +1,26 @@ //! The `poh_service` module implements a service that records the passing of //! "ticks", a measure of time in the PoH stream -use crate::fullnode::TpuRotationSender; use crate::poh_recorder::{PohRecorder, PohRecorderError}; use crate::result::Error; use crate::result::Result; use crate::service::Service; -use crate::tpu::TpuReturnType; +use crate::tpu::{TpuReturnType, TpuRotationSender}; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; use std::thread::sleep; use std::thread::{self, Builder, JoinHandle}; use std::time::Duration; + pub const NUM_TICKS_PER_SECOND: usize = 10; #[derive(Copy, Clone)] pub enum Config { - /// * `Tick` - Run full PoH thread. Tick is a rough estimate of how many hashes to roll before transmitting a new entry. + /// * `Tick` - Run full PoH thread. Tick is a rough estimate of how many hashes to roll before + /// transmitting a new entry. Tick(usize), - /// * `Sleep`- Low power mode. Sleep is a rough estimate of how long to sleep before rolling 1 poh once and producing 1 - /// tick. + /// * `Sleep`- Low power mode. Sleep is a rough estimate of how long to sleep before rolling 1 + /// PoH once and producing 1 tick. Sleep(Duration), } diff --git a/src/replay_stage.rs b/src/replay_stage.rs index ff8ff47163..2b39d5a25f 100644 --- a/src/replay_stage.rs +++ b/src/replay_stage.rs @@ -10,11 +10,10 @@ use crate::entry_stream::EntryStream; use crate::entry_stream::EntryStreamHandler; #[cfg(test)] use crate::entry_stream::MockEntryStream as EntryStream; -use crate::fullnode::TvuRotationSender; use crate::packet::BlobError; use crate::result::{Error, Result}; use crate::service::Service; -use crate::tvu::TvuReturnType; +use crate::tvu::{TvuReturnType, TvuRotationSender}; use crate::voting_keypair::VotingKeypair; use log::Level; use solana_metrics::{influxdb, submit}; diff --git a/src/tpu.rs b/src/tpu.rs index b400919b64..43ab32320a 100644 --- a/src/tpu.rs +++ b/src/tpu.rs @@ -7,7 +7,6 @@ use crate::broadcast_service::BroadcastService; use crate::cluster_info::ClusterInfo; use crate::cluster_info_vote_listener::ClusterInfoVoteListener; use crate::fetch_stage::FetchStage; -use crate::fullnode::TpuRotationSender; use crate::poh_service::Config; use crate::service::Service; use crate::sigverify_stage::SigVerifyStage; @@ -17,7 +16,7 @@ use solana_sdk::hash::Hash; use solana_sdk::pubkey::Pubkey; use std::net::UdpSocket; use std::sync::atomic::{AtomicBool, Ordering}; -use std::sync::mpsc::channel; +use std::sync::mpsc::{channel, Receiver, Sender}; use std::sync::{Arc, RwLock}; use std::thread; @@ -25,6 +24,9 @@ pub enum TpuReturnType { LeaderRotation(u64), } +pub type TpuRotationSender = Sender; +pub type TpuRotationReceiver = Receiver; + pub enum TpuMode { Leader(LeaderServices), Forwarder(ForwarderServices), diff --git a/src/tvu.rs b/src/tvu.rs index 051049f00a..9614a7cc10 100644 --- a/src/tvu.rs +++ b/src/tvu.rs @@ -16,7 +16,6 @@ use crate::bank::Bank; use crate::blob_fetch_stage::BlobFetchStage; use crate::cluster_info::ClusterInfo; use crate::db_ledger::DbLedger; -use crate::fullnode::TvuRotationSender; use crate::replay_stage::ReplayStage; use crate::retransmit_stage::RetransmitStage; use crate::service::Service; @@ -27,7 +26,7 @@ use solana_sdk::hash::Hash; use solana_sdk::signature::{Keypair, KeypairUtil}; use std::net::UdpSocket; use std::sync::atomic::{AtomicBool, Ordering}; -use std::sync::mpsc::{channel, Receiver, SyncSender}; +use std::sync::mpsc::{channel, Receiver, Sender, SyncSender}; use std::sync::{Arc, RwLock}; use std::thread; @@ -36,6 +35,9 @@ pub enum TvuReturnType { LeaderRotation(u64, u64, Hash), } +pub type TvuRotationSender = Sender; +pub type TvuRotationReceiver = Receiver; + pub struct Tvu { fetch_stage: BlobFetchStage, retransmit_stage: RetransmitStage,