added the broadcast trigger message in the broadcast test

This commit is contained in:
Vladimir Komendantskiy 2018-04-27 13:31:50 +01:00
parent 329adc3c2b
commit 1fadff0e30
1 changed files with 12 additions and 11 deletions

View File

@ -11,21 +11,14 @@ extern crate merkle;
mod netsim;
use std::collections::{BTreeMap, HashSet, HashMap, VecDeque};
use std::fmt;
use std::fmt::Debug;
use std::io;
use std::net::SocketAddr;
use std::sync::{Arc, RwLock};
use std::ops::Deref;
use crossbeam::{Scope, ScopedJoinHandle};
use crossbeam_channel::{bounded, Sender, Receiver};
use std::collections::{HashSet, HashMap};
use crossbeam_channel::{Sender, Receiver};
use hbbft::proto::*;
use hbbft::messaging;
use hbbft::messaging::{QMessage, NodeUid, Algorithm, ProposedValue,
AlgoMessage, Handler,
MessageLoopState, MessageLoop, RemoteMessage, RemoteNode};
AlgoMessage, Handler, LocalMessage,
MessageLoop, RemoteMessage, RemoteNode};
use hbbft::broadcast::Broadcast;
use hbbft::broadcast;
use hbbft::common_subset::CommonSubset;
@ -81,6 +74,14 @@ impl<'a> TestNode<'a>
{
let tx = self.message_loop.queue_tx();
if let Some(value) = &self.value {
// Start the broadcast value transmission.
tx.send(QMessage::Local(LocalMessage {
dst: Algorithm::Broadcast(self.uid),
message: AlgoMessage::BroadcastInput(value.clone())
}));
}
crossbeam::scope(|scope| {
// Spawn receive loops for messages from simulated remote
// nodes. Each loop receives a message from the simulated remote