mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #10891 from changkun/raft
raft/rafttest: simulate async send in node test
This commit is contained in:
commit
5a734e79f5
@ -17,6 +17,7 @@ package rafttest
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"math/rand"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@ -79,9 +80,14 @@ func (n *node) start() {
|
||||
}
|
||||
n.storage.Append(rd.Entries)
|
||||
time.Sleep(time.Millisecond)
|
||||
// TODO: make send async, more like real world...
|
||||
|
||||
// simulate async send, more like real world...
|
||||
for _, m := range rd.Messages {
|
||||
n.iface.send(m)
|
||||
mlocal := m
|
||||
go func() {
|
||||
time.Sleep(time.Duration(rand.Int63n(10)) * time.Millisecond)
|
||||
n.iface.send(mlocal)
|
||||
}()
|
||||
}
|
||||
n.Advance()
|
||||
case m := <-n.iface.recv():
|
||||
|
Loading…
x
Reference in New Issue
Block a user