raft: StartCluster -> Dictate

release-2.0
Blake Mizerany 2014-06-13 14:36:51 -07:00 committed by Yicheng Qin
parent 1a75beb57c
commit 7cdd148e24
3 changed files with 9 additions and 12 deletions

View File

@ -92,7 +92,7 @@ func buildCluster(size int) (nt *network, nodes []*Node) {
}
nt = newNetwork(nis...)
nodes[0].StartCluster()
Dictate(nodes[0]).Next()
for i := 1; i < size; i++ {
nt.send(nodes[0].newConfMessage(configAdd, &Config{NodeId: i}))
nodes[i].Start()

View File

@ -50,14 +50,11 @@ func (n *Node) Propose(data []byte) {
n.Step(m)
}
func (n *Node) StartCluster() {
if n.sm != nil {
panic("node is started")
}
func Dictate(n *Node) *Node {
n.sm = newStateMachine(n.addr, []int{n.addr})
n.Step(Message{Type: msgHup})
n.Step(n.newConfMessage(configAdd, &Config{NodeId: n.addr}))
n.Next()
return n
}
func (n *Node) Start() {

View File

@ -89,8 +89,8 @@ func TestResetElapse(t *testing.T) {
}
func TestStartCluster(t *testing.T) {
n := New(0, defaultHeartbeat, defaultElection)
n.StartCluster()
n := Dictate(New(0, defaultHeartbeat, defaultElection))
n.Next()
if len(n.sm.ins) != 1 {
t.Errorf("k = %d, want 1", len(n.sm.ins))
@ -104,8 +104,8 @@ func TestStartCluster(t *testing.T) {
}
func TestAdd(t *testing.T) {
n := New(0, defaultHeartbeat, defaultElection)
n.StartCluster()
n := Dictate(New(0, defaultHeartbeat, defaultElection))
n.Next()
n.Add(1)
n.Next()
@ -118,8 +118,8 @@ func TestAdd(t *testing.T) {
}
func TestRemove(t *testing.T) {
n := New(0, defaultHeartbeat, defaultElection)
n.StartCluster()
n := Dictate(New(0, defaultHeartbeat, defaultElection))
n.Next()
n.Add(1)
n.Next()
n.Remove(0)