1#include <xrpl/basics/TaggedCache.ipp>
2#include <xrpl/ledger/CachedView.h>
10 return read(k) !=
nullptr;
19 bool cacheHit =
false;
20 bool baseRead =
false;
25 auto const iter =
map_.find(k.
key);
26 if (iter !=
map_.end())
42 sle || baseRead,
"xrpl::CachedView::read : null SLE result from base");
43 if (cacheHit && baseRead)
44 hitsexpired.increment();
58 if (!sle || !k.
check(*sle))
Implementation for CountedObject.
virtual std::optional< digest_type > digest(key_type const &key) const =0
Return the digest associated with the key.
virtual std::shared_ptr< SLE const > read(Keylet const &k) const =0
Return the state item associated with a key.
SharedPointerType fetch(key_type const &key)
std::shared_ptr< SLE const > read(Keylet const &k) const override
Return the state item associated with a key.
std::unordered_map< key_type, uint256, hardened_hash<> > map_
std::optional< digest_type > digest(key_type const &key) const override
Return the digest associated with the key.
DigestAwareReadView const & base_
bool exists(Keylet const &k) const override
Determine if a state item exists.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
A pair of SHAMap key and LedgerEntryType.
bool check(STLedgerEntry const &) const
Returns true if the SLE matches the type.