Skip to content

Commit 020b982

Browse files
committed
defer the index increament when consuming messages
1 parent b41deb0 commit 020b982

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

mq/mq.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,25 @@ func (mq *MessageQueue) Consume(h process.Height, propose func(process.Propose),
3939
if q[0] == nil || height(q[0]) > h {
4040
break
4141
}
42-
if ok := procsAllowed[from] ; !ok{
43-
n++
44-
q = q[1:]
45-
continue
46-
}
47-
switch msg := q[0].(type) {
48-
case process.Propose:
49-
propose(msg)
50-
case process.Prevote:
51-
prevote(msg)
52-
case process.Precommit:
53-
precommit(msg)
54-
}
55-
n++
56-
q = q[1:]
42+
func() {
43+
defer func() {
44+
n++
45+
q = q[1:]
46+
}()
47+
48+
if ok := procsAllowed[from]; !ok {
49+
return
50+
}
51+
52+
switch msg := q[0].(type) {
53+
case process.Propose:
54+
propose(msg)
55+
case process.Prevote:
56+
prevote(msg)
57+
case process.Precommit:
58+
precommit(msg)
59+
}
60+
}()
5761
}
5862
mq.queuesByPid[from] = q
5963
}

0 commit comments

Comments
 (0)