raft: transfer leader feature

This commit is contained in:
es-chow
2016-03-24 19:59:41 +08:00
parent 1c12b66e35
commit ac059eb8cb
9 changed files with 378 additions and 38 deletions

View File

@@ -306,7 +306,7 @@ func (n *node) run(r *raft) {
r.Step(m)
case m := <-n.recvc:
// filter out response message from unknown From.
if _, ok := r.prs[m.From]; ok || !IsResponseMsg(m) {
if _, ok := r.prs[m.From]; ok || !IsResponseMsg(m.Type) {
r.Step(m) // raft never returns an error
}
case cc := <-n.confc:
@@ -392,7 +392,7 @@ func (n *node) Propose(ctx context.Context, data []byte) error {
func (n *node) Step(ctx context.Context, m pb.Message) error {
// ignore unexpected local messages receiving over network
if IsLocalMsg(m) {
if IsLocalMsg(m.Type) {
// TODO: return an error?
return nil
}