aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2018-12-13 11:12:59 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-12 17:27:19 +0800
commitaa34cc1069a815ed66ec8fae0988fc4f29687bfd (patch)
treef771aed8714ed77d540f4c41578df94605aef03b /vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go
parent7a587feaa582fcecdcc0388f720e54614cb6b8f4 (diff)
downloadgo-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.tar
go-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.tar.gz
go-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.tar.bz2
go-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.tar.lz
go-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.tar.xz
go-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.tar.zst
go-tangerine-aa34cc1069a815ed66ec8fae0988fc4f29687bfd.zip
vendor: sync to latest core and fix conflict
Diffstat (limited to 'vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go')
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go19
1 files changed, 13 insertions, 6 deletions
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go
index a8f8fe58f..6d4f7b0ba 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/nodeset-cache.go
@@ -27,8 +27,12 @@ import (
)
var (
- // ErrRoundNotReady means we got nil config.
- ErrRoundNotReady = errors.New("round is not ready")
+ // ErrNodeSetNotReady means we got nil empty node set.
+ ErrNodeSetNotReady = errors.New("node set is not ready")
+ // ErrCRSNotReady means we got empty CRS.
+ ErrCRSNotReady = errors.New("crs is not ready")
+ // ErrConfigurationNotReady means we go nil configuration.
+ ErrConfigurationNotReady = errors.New("configuration is not ready")
// ErrInvalidChainID means the chain ID is unexpected.
ErrInvalidChainID = errors.New("invalid chain id")
)
@@ -172,16 +176,15 @@ func (cache *NodeSetCache) update(
cache.lock.Lock()
defer cache.lock.Unlock()
- // Get the requested round.
+ // Get information for the requested round.
keySet := cache.nsIntf.NodeSet(round)
if keySet == nil {
- // That round is not ready yet.
- err = ErrRoundNotReady
+ err = ErrNodeSetNotReady
return
}
crs := cache.nsIntf.CRS(round)
if (crs == common.Hash{}) {
- err = ErrRoundNotReady
+ err = ErrCRSNotReady
return
}
// Cache new round.
@@ -199,6 +202,10 @@ func (cache *NodeSetCache) update(
}
}
cfg := cache.nsIntf.Configuration(round)
+ if cfg == nil {
+ err = ErrConfigurationNotReady
+ return
+ }
nIDs = &sets{
nodeSet: nodeSet,
notarySet: make([]map[types.NodeID]struct{}, cfg.NumChains),