aboutsummaryrefslogtreecommitdiffstats
path: root/core/agreement.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2018-08-30 10:45:06 +0800
committerGitHub <noreply@github.com>2018-08-30 10:45:06 +0800
commit2681e011bd48ec107dedae9c7dcbc0810673298c (patch)
tree11dbe2b7ff285d3fa57d983e1103ccb61bfe122c /core/agreement.go
parentca3b30a62ff85090c1a721602e8b202e6ae9a2bd (diff)
downloaddexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.tar
dexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.tar.gz
dexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.tar.bz2
dexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.tar.lz
dexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.tar.xz
dexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.tar.zst
dexon-consensus-2681e011bd48ec107dedae9c7dcbc0810673298c.zip
core: Leader Selector. (#80)
Diffstat (limited to 'core/agreement.go')
-rw-r--r--core/agreement.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/agreement.go b/core/agreement.go
index 9d0440e..28bcc67 100644
--- a/core/agreement.go
+++ b/core/agreement.go
@@ -99,13 +99,14 @@ func newAgreement(
ID types.ValidatorID,
recv agreementReceiver,
validators types.ValidatorIDs,
+ leader *leaderSelector,
sigToPub SigToPubFn,
blockProposer blockProposerFn) *agreement {
agreement := &agreement{
data: &agreementData{
recv: recv,
ID: ID,
- leader: newLeaderSelector(),
+ leader: leader,
blockProposer: blockProposer,
},
aID: &atomic.Value{},
@@ -226,7 +227,9 @@ func (a *agreement) processBlock(block *types.Block) error {
return nil
}
a.data.blocks[block.ProposerID] = block
- a.data.leader.processBlock(block)
+ if err := a.data.leader.processBlock(block); err != nil {
+ return err
+ }
return nil
}