From: Chengcheng Zhang <943420582@qq.com> Date: Mon, 17 Jun 2019 10:44:50 +0000 (+0800) Subject: update vote result cache (#185) X-Git-Tag: v1.0.5~208^2~22 X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=commitdiff_plain;h=f3cb5b156fb15a8d2c500333ca8d252c05195908 update vote result cache (#185) * update * update --- diff --git a/database/store.go b/database/store.go index e5e4134b..3af63384 100644 --- a/database/store.go +++ b/database/store.go @@ -316,8 +316,16 @@ func (s *Store) SaveChainStatus(node, irreversibleNode *state.BlockNode, view *s return err } - if err := saveVoteResult(batch, voteResults); err != nil { - return err + for _, vote := range voteResults { + bytes, err := json.Marshal(vote) + if err != nil { + return err + } + + batch.Set(calcVoteResultKey(vote.Seq), bytes) + if _, ok := s.cache.getVoteResult(vote.Seq); ok { + s.cache.addVoteResult(vote) + } } bytes, err := json.Marshal(protocol.BlockStoreState{ @@ -334,16 +342,3 @@ func (s *Store) SaveChainStatus(node, irreversibleNode *state.BlockNode, view *s batch.Write() return nil } - -// saveVoteResult update the voting results generated by each irreversible block -func saveVoteResult(batch dbm.Batch, voteResults []*state.VoteResult) error { - for _, vote := range voteResults { - bytes, err := json.Marshal(vote) - if err != nil { - return err - } - - batch.Set(calcVoteResultKey(vote.Seq), bytes) - } - return nil -}