diff --git a/src/bin/demo.rs b/src/bin/demo.rs index d29049f512..0787b3b305 100644 --- a/src/bin/demo.rs +++ b/src/bin/demo.rs @@ -6,7 +6,7 @@ use std::thread::sleep; use std::time::Duration; use std::sync::mpsc::SendError; -fn create_log(hist: &Historian) -> Result<(), SendError>> { +fn create_log(hist: &Historian) -> Result<(), SendError>> { sleep(Duration::from_millis(15)); let data = Sha256Hash::default(); hist.sender.send(Event::Discovery { data })?; diff --git a/src/historian.rs b/src/historian.rs index 358d7f8821..2612c3205f 100644 --- a/src/historian.rs +++ b/src/historian.rs @@ -9,11 +9,12 @@ use std::thread::JoinHandle; use std::sync::mpsc::{Receiver, Sender}; use std::time::{Duration, SystemTime}; use log::{hash, hash_event, Entry, Event, Sha256Hash}; +use serde::Serialize; -pub struct Historian { - pub sender: Sender>, - pub receiver: Receiver>, - pub thread_hdl: JoinHandle<(Entry, ExitReason)>, +pub struct Historian { + pub sender: Sender>, + pub receiver: Receiver>, + pub thread_hdl: JoinHandle<(Entry, ExitReason)>, } #[derive(Debug, PartialEq, Eq)] @@ -21,12 +22,12 @@ pub enum ExitReason { RecvDisconnected, SendDisconnected, } -fn log_event( - sender: &Sender>, +fn log_event( + sender: &Sender>, num_hashes: &mut u64, end_hash: &mut Sha256Hash, - event: Event, -) -> Result<(), (Entry, ExitReason)> { + event: Event, +) -> Result<(), (Entry, ExitReason)> { *end_hash = hash_event(end_hash, &event); let entry = Entry { end_hash: *end_hash, @@ -40,15 +41,15 @@ fn log_event( Ok(()) } -fn log_events( - receiver: &Receiver>, - sender: &Sender>, +fn log_events( + receiver: &Receiver>, + sender: &Sender>, num_hashes: &mut u64, end_hash: &mut Sha256Hash, epoch: SystemTime, num_ticks: &mut u64, ms_per_tick: Option, -) -> Result<(), (Entry, ExitReason)> { +) -> Result<(), (Entry, ExitReason)> { use std::sync::mpsc::TryRecvError; loop { if let Some(ms) = ms_per_tick { @@ -79,12 +80,12 @@ fn log_events( /// A background thread that will continue tagging received Event messages and /// sending back Entry messages until either the receiver or sender channel is closed. -pub fn create_logger( +pub fn create_logger( start_hash: Sha256Hash, ms_per_tick: Option, - receiver: Receiver>, - sender: Sender>, -) -> JoinHandle<(Entry, ExitReason)> { + receiver: Receiver>, + sender: Sender>, +) -> JoinHandle<(Entry, ExitReason)> { use std::thread; thread::spawn(move || { let mut end_hash = start_hash; @@ -109,7 +110,7 @@ pub fn create_logger( }) } -impl Historian { +impl Historian { pub fn new(start_hash: &Sha256Hash, ms_per_tick: Option) -> Self { use std::sync::mpsc::channel; let (sender, event_receiver) = channel(); @@ -157,7 +158,7 @@ mod tests { #[test] fn test_historian_closed_sender() { let zero = Sha256Hash::default(); - let hist = Historian::new(&zero, None); + let hist = Historian::::new(&zero, None); drop(hist.receiver); hist.sender.send(Event::Tick).unwrap(); assert_eq!(