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 packet;
pub mod plan; pub mod plan;
pub mod record_stage; pub mod record_stage;
pub mod request_replicator;
pub mod replicate_stage;
pub mod recorder; pub mod recorder;
pub mod replicate_stage;
pub mod request; pub mod request;
pub mod request_processor; pub mod request_processor;
pub mod request_replicator;
pub mod request_stage; pub mod request_stage;
pub mod result; pub mod result;
pub mod rpu; pub mod rpu;

View File

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

View File

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

View File

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