raftest: wait for network sending

release-2.0
Xiang Li 2015-02-06 10:03:52 -08:00
parent 0242faa838
commit 279b216f9a
2 changed files with 9 additions and 6 deletions

View File

@ -86,7 +86,11 @@ func (rn *raftNetwork) send(m raftpb.Message) {
time.Sleep(time.Duration(rd))
}
to <- m
select {
case to <- m:
default:
// drop messages when the receiver queue is full.
}
}
func (rn *raftNetwork) recvFrom(from uint64) chan raftpb.Message {

View File

@ -49,11 +49,10 @@ func (n *node) start() {
n.storage.SetHardState(n.state)
}
n.storage.Append(rd.Entries)
go func() {
for _, m := range rd.Messages {
n.iface.send(m)
}
}()
// TODO: make send async, more like real world...
for _, m := range rd.Messages {
n.iface.send(m)
}
n.Advance()
case m := <-n.iface.recv():
n.Step(context.TODO(), m)