HomePhabricator

Do not keep fully spent but unwritten CCoins entries cached.
058b08c147a6Unpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Do not keep fully spent but unwritten CCoins entries cached.

Instead of storing CCoins entries directly in CCoinsMap, store a CCoinsCacheEntry
which additionally keeps track of whether a particular entry is:

  • dirty: potentially different from its parent view.
  • fresh: the parent view is known to not have a non-pruned version.

This allows us to skip non-dirty cache entries when pushing batches of changes up,
and to remove CCoins entries about transactions that are fully spent before the
parent cache learns about them.

Details

Provenance
Pieter Wuille <pieter.wuille@gmail.com>Authored on Sep 3 2014, 07:37
deadalnixPushed on May 14 2017, 22:04
Parents
rABCc9d1a81ce767: Get rid of CCoinsView's SetCoins and SetBestBlock.
Branches
Unknown
Tags
Unknown

Event Timeline

Pieter Wuille <pieter.wuille@gmail.com> committed rABC058b08c147a6: Do not keep fully spent but unwritten CCoins entries cached. (authored by Pieter Wuille <pieter.wuille@gmail.com>).Sep 23 2014, 20:29