From b8d52cc3e4077758949f38e0c7b074a7e5f865f8 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Sat, 24 Feb 2018 11:15:03 -0700 Subject: [PATCH] Make the Discovery event into a struct instead of a tuple --- README.md | 5 +++-- src/bin/demo.rs | 3 ++- src/historian.rs | 4 ++-- src/log.rs | 11 ++++++++--- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index c4f01831a..4d06cdbe1 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,8 @@ use std::sync::mpsc::SendError; fn create_log(hist: &Historian) -> Result<(), SendError> { sleep(Duration::from_millis(15)); - hist.sender.send(Event::Discovery(Sha256Hash::default()))?; + let data = Sha256Hash::default(); + hist.sender.send(Event::Discovery { data })?; sleep(Duration::from_millis(10)); Ok(()) } @@ -62,7 +63,7 @@ Running the program should produce a log similar to: ```rust Entry { num_hashes: 0, end_hash: [0, ...], event: Tick } -Entry { num_hashes: 2, end_hash: [67, ...], event: Discovery(3735928559) } +Entry { num_hashes: 2, end_hash: [67, ...], event: Discovery { data: [37, ...] } } Entry { num_hashes: 3, end_hash: [123, ...], event: Tick } ``` diff --git a/src/bin/demo.rs b/src/bin/demo.rs index bd5d49bc2..f1b8b5b82 100644 --- a/src/bin/demo.rs +++ b/src/bin/demo.rs @@ -8,7 +8,8 @@ use std::sync::mpsc::SendError; fn create_log(hist: &Historian) -> Result<(), SendError> { sleep(Duration::from_millis(15)); - hist.sender.send(Event::Discovery(Sha256Hash::default()))?; + let data = Sha256Hash::default(); + hist.sender.send(Event::Discovery { data })?; sleep(Duration::from_millis(10)); Ok(()) } diff --git a/src/historian.rs b/src/historian.rs index 8312272d9..d01c1b223 100644 --- a/src/historian.rs +++ b/src/historian.rs @@ -137,7 +137,7 @@ mod tests { hist.sender.send(Event::Tick).unwrap(); sleep(Duration::new(0, 1_000_000)); - hist.sender.send(Event::Discovery(zero)).unwrap(); + hist.sender.send(Event::Discovery { data: zero }).unwrap(); sleep(Duration::new(0, 1_000_000)); hist.sender.send(Event::Tick).unwrap(); @@ -171,7 +171,7 @@ mod tests { let zero = Sha256Hash::default(); let hist = Historian::new(&zero, Some(20)); sleep(Duration::from_millis(30)); - hist.sender.send(Event::Discovery(zero)).unwrap(); + hist.sender.send(Event::Discovery { data: zero }).unwrap(); sleep(Duration::from_millis(15)); drop(hist.sender); assert_eq!( diff --git a/src/log.rs b/src/log.rs index 92be3cefc..2fc8c0e7a 100644 --- a/src/log.rs +++ b/src/log.rs @@ -35,7 +35,9 @@ pub struct Entry { #[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)] pub enum Event { Tick, - Discovery(Sha256Hash), + Discovery { + data: Sha256Hash, + }, Claim { key: PublicKey, data: Sha256Hash, @@ -97,7 +99,7 @@ pub fn extend_and_hash(end_hash: &Sha256Hash, ty: u8, val: &[u8]) -> Sha256Hash pub fn hash_event(end_hash: &Sha256Hash, event: &Event) -> Sha256Hash { match *event { Event::Tick => *end_hash, - Event::Discovery(data) => extend_and_hash(end_hash, 1, &data), + Event::Discovery { data } => extend_and_hash(end_hash, 1, &data), Event::Claim { key, data, sig } => { let mut event_data = data.to_vec(); event_data.extend_from_slice(&sig); @@ -218,7 +220,10 @@ mod tests { // First, verify Discovery events let mut end_hash = zero; - let events = [Event::Discovery(zero), Event::Discovery(one)]; + let events = [ + Event::Discovery { data: zero }, + Event::Discovery { data: one }, + ]; let mut entries: Vec = events .iter() .map(|event| {