diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2018-08-30 10:45:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-30 10:45:06 +0800 |
commit | 2681e011bd48ec107dedae9c7dcbc0810673298c (patch) | |
tree | 11dbe2b7ff285d3fa57d983e1103ccb61bfe122c /core/agreement.go | |
parent | ca3b30a62ff85090c1a721602e8b202e6ae9a2bd (diff) | |
download | dexon-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.go | 7 |
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 } |