From f3cb5b156fb15a8d2c500333ca8d252c05195908 Mon Sep 17 00:00:00 2001 From: Chengcheng Zhang <943420582@qq.com> Date: Mon, 17 Jun 2019 18:44:50 +0800 Subject: [PATCH] update vote result cache (#185) * update * update --- database/store.go | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) 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 -} -- 2.11.0