diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2019-04-06 17:26:10 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-15 22:09:55 +0800 |
commit | 2b6c8c733a52f686c7f418bb5218f53aa8c19a8d (patch) | |
tree | f91d9dff2a6673b17d656b308604765702f73c76 /vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go | |
parent | bd199cbed939f7cb9e14b501d520f762a2e82fff (diff) | |
download | go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.tar go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.tar.gz go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.tar.bz2 go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.tar.lz go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.tar.xz go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.tar.zst go-tangerine-2b6c8c733a52f686c7f418bb5218f53aa8c19a8d.zip |
vendor: sync to latest core
Diffstat (limited to 'vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go')
-rw-r--r-- | vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go index e657c6449..adaf51d62 100644 --- a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go +++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go @@ -57,6 +57,8 @@ var ( "cannot verify block randomness") ) +type selfAgreementResult types.AgreementResult + // consensusBAReceiver implements agreementReceiver. type consensusBAReceiver struct { consensus *Consensus @@ -286,7 +288,8 @@ func (recv *consensusBAReceiver) ConfirmBlock( IsEmptyBlock: isEmptyBlockConfirmed, Randomness: block.Randomness, } - recv.consensus.baMgr.touchAgreementResult(result) + // touchAgreementResult does not support concurrent access. + recv.consensus.msgChan <- (*selfAgreementResult)(result) recv.consensus.logger.Debug("Broadcast AgreementResult", "result", result) recv.consensus.network.BroadcastAgreementResult(result) @@ -1217,6 +1220,8 @@ MessageLoop: return } switch val := msg.(type) { + case *selfAgreementResult: + con.baMgr.touchAgreementResult((*types.AgreementResult)(val)) case *types.Block: if ch, exist := func() (chan<- *types.Block, bool) { con.lock.RLock() |