aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-04-06 17:26:10 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-15 22:09:55 +0800
commit2b6c8c733a52f686c7f418bb5218f53aa8c19a8d (patch)
treef91d9dff2a6673b17d656b308604765702f73c76 /vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
parentbd199cbed939f7cb9e14b501d520f762a2e82fff (diff)
downloadgo-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.go7
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()