This commit is contained in:
Anatoly Yakovenko
2018-04-19 10:32:02 -07:00
committed by Stephen Akridge
parent ebb089b3f1
commit f752e55929
2 changed files with 10 additions and 2 deletions

View File

@ -27,6 +27,7 @@ use std::thread::{spawn, JoinHandle};
use std::time::Duration; use std::time::Duration;
use streamer; use streamer;
use transaction::Transaction; use transaction::Transaction;
use subscribers::Subscribers;
pub struct AccountantSkel<W: Write + Send + 'static> { pub struct AccountantSkel<W: Write + Send + 'static> {
acc: Accountant, acc: Accountant,
@ -293,7 +294,7 @@ impl<W: Write + Send + 'static> AccountantSkel<W> {
let exit_ = exit.clone(); let exit_ = exit.clone();
let t_verifier = spawn(move || loop { let t_verifier = spawn(move || loop {
let e = Self::blob_verifier(&blob_receiver, &verified_sender); let e = Self::verifier(&packet_receiver, &verified_sender);
if e.is_err() && exit_.load(Ordering::Relaxed) { if e.is_err() && exit_.load(Ordering::Relaxed) {
break; break;
} }
@ -351,7 +352,7 @@ impl<W: Write + Send + 'static> AccountantSkel<W> {
let (retransmit_sender, retransmit_receiver) = channel(); let (retransmit_sender, retransmit_receiver) = channel();
let subs = Arc::new(RwLock::new(rsubs)); let subs = Arc::new(RwLock::new(rsubs));
let t_retransmit = retransmitter( let t_retransmit = streamer::retransmitter(
write, write,
exit.clone(), exit.clone(),
subs, subs,

View File

@ -4,6 +4,7 @@ use bincode;
use serde_json; use serde_json;
use std; use std;
use std::any::Any; use std::any::Any;
use accountant;
#[derive(Debug)] #[derive(Debug)]
pub enum Error { pub enum Error {
@ -14,6 +15,7 @@ pub enum Error {
RecvError(std::sync::mpsc::RecvError), RecvError(std::sync::mpsc::RecvError),
RecvTimeoutError(std::sync::mpsc::RecvTimeoutError), RecvTimeoutError(std::sync::mpsc::RecvTimeoutError),
Serialize(std::boxed::Box<bincode::ErrorKind>), Serialize(std::boxed::Box<bincode::ErrorKind>),
AccountingError(accountant::AccountingError),
SendError, SendError,
Services, Services,
} }
@ -30,6 +32,11 @@ impl std::convert::From<std::sync::mpsc::RecvTimeoutError> for Error {
Error::RecvTimeoutError(e) Error::RecvTimeoutError(e)
} }
} }
impl std::convert::From<accountant::AccountingError> for Error {
fn from(e: accountant::AccountingError) -> Error {
Error::AccountingError(e)
}
}
impl<T> std::convert::From<std::sync::mpsc::SendError<T>> for Error { impl<T> std::convert::From<std::sync::mpsc::SendError<T>> for Error {
fn from(_e: std::sync::mpsc::SendError<T>) -> Error { fn from(_e: std::sync::mpsc::SendError<T>) -> Error {
Error::SendError Error::SendError