This commit is contained in:
Anatoly Yakovenko 2018-05-22 15:18:07 -07:00
parent a638ec5911
commit bbe89df2ff
4 changed files with 13 additions and 11 deletions

View File

@ -15,11 +15,11 @@ pub mod mint;
pub mod packet;
pub mod plan;
pub mod record_stage;
pub mod request_replicator;
pub mod replicate_stage;
pub mod recorder;
pub mod replicate_stage;
pub mod request;
pub mod request_processor;
pub mod request_replicator;
pub mod request_stage;
pub mod result;
pub mod rpu;

View File

@ -2,8 +2,8 @@
use packet;
use request_replicator::RequestReplicator;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
use std::thread::{spawn, JoinHandle};
use streamer;
@ -12,14 +12,18 @@ pub struct ReplicateStage {
}
impl ReplicateStage {
pub fn new(request_replicator: RequestReplicator, exit: Arc<AtomicBool>, window_receiver: streamer::BlobReceiver, blob_recycler: packet::BlobRecycler) -> Self {
pub fn new(
request_replicator: RequestReplicator,
exit: Arc<AtomicBool>,
window_receiver: streamer::BlobReceiver,
blob_recycler: packet::BlobRecycler,
) -> Self {
let thread_hdl = spawn(move || loop {
let e = request_replicator.replicate_requests(&window_receiver, &blob_recycler);
if e.is_err() && exit.load(Ordering::Relaxed) {
break;
}
});
ReplicateStage{thread_hdl}
ReplicateStage { thread_hdl }
}
}

View File

@ -5,9 +5,9 @@ use bank::Bank;
use ledger;
use packet;
use result::Result;
use std::sync::Arc;
use std::time::Duration;
use streamer;
use std::sync::Arc;
pub struct RequestReplicator {
bank: Arc<Bank>,
@ -16,9 +16,7 @@ pub struct RequestReplicator {
impl RequestReplicator {
/// Create a new Tvu that wraps the given Bank.
pub fn new(bank: Arc<Bank>) -> Self {
RequestReplicator {
bank: bank,
}
RequestReplicator { bank: bank }
}
/// Process verified blobs, already in order

View File

@ -7,8 +7,8 @@ use crdt::{Crdt, ReplicatedData};
use hash::Hash;
use packet;
use record_stage::RecordStage;
use request_replicator::RequestReplicator;
use replicate_stage::ReplicateStage;
use request_replicator::RequestReplicator;
use result::Result;
use sig_verify_stage::SigVerifyStage;
use std::net::UdpSocket;