CatapultServer  v0.5.0.1 (Elephant)
catapult::cache Namespace Reference

Namespaces

 detail
 

Classes

class  AccountCounters
 Counters for tracking how often an account is used. More...
 
struct  AccountRestrictionBaseSetDeltaPointers
 
struct  AccountRestrictionBaseSets
 
class  AccountRestrictionCache
 Synchronized cache composed of account restriction information. More...
 
class  AccountRestrictionCacheDelta
 Delta on top of the account restriction cache. More...
 
struct  AccountRestrictionCacheDescriptor
 Describes an account restriction cache. More...
 
struct  AccountRestrictionCacheStorage
 Policy for saving and loading account restriction cache data. More...
 
struct  AccountRestrictionCacheTypes
 Account restriction cache types. More...
 
class  AccountRestrictionCacheView
 View on top of the account restriction cache. More...
 
class  AccountRestrictionPatriciaTree
 
struct  AccountRestrictionsPrimarySerializer
 Primary serializer for account restriction cache. More...
 
struct  AccountStateBaseSetDeltaPointers
 
struct  AccountStateBaseSets
 
class  AccountStateCache
 Synchronized cache composed of stateful account information. More...
 
class  AccountStateCacheDelta
 Delta on top of the account state cache. More...
 
struct  AccountStateCacheDeltaMixins
 Mixins used by the account state cache delta. More...
 
struct  AccountStateCacheDescriptor
 Describes an account state cache. More...
 
struct  AccountStateCacheStorage
 Policy for saving and loading account state cache data. More...
 
class  AccountStateCacheSubCachePlugin
 Specialized account state cache sub cache plugin. More...
 
class  AccountStateCacheSummaryCacheStorage
 CacheStorage implementation for saving and loading summary account state cache data. More...
 
struct  AccountStateCacheTypes
 AccountState cache types. More...
 
class  AccountStateCacheView
 View on top of the account state cache. More...
 
struct  AccountStateCacheViewMixins
 Mixins used by the account state cache view. More...
 
class  AccountStatePatriciaTree
 
struct  AccountStatePatriciaTreeSerializer
 
struct  AccountStatePrimarySerializer
 Primary serializer for account state cache. More...
 
class  ActivePredicateMixin
 A mixin for adding active querying support to a cache. More...
 
class  BasicAccountRestrictionCacheDelta
 Basic delta on top of the account restriction cache. More...
 
class  BasicAccountRestrictionCacheView
 Basic view on top of the account restriction cache. More...
 
class  BasicAccountStateCache
 Cache composed of stateful account information. More...
 
class  BasicAccountStateCacheDelta
 Basic delta on top of the account state cache. More...
 
class  BasicAccountStateCacheView
 Basic view on top of the account state cache. More...
 
class  BasicAggregateTransactionsCache
 A basic aggregate transactions cache that delegates to a wrapped cache and raises notifications on a subscriber. More...
 
class  BasicAggregateTransactionsCacheModifier
 
class  BasicBlockDifficultyCache
 
class  BasicBlockDifficultyCacheDelta
 Basic delta on top of the block difficulty cache. More...
 
class  BasicBlockDifficultyCacheView
 Basic view on top of the block difficulty cache. More...
 
class  BasicCache
 
struct  BasicCacheMixins
 Grouping of all basic cache mixins for a single set. More...
 
class  BasicHashCache
 
class  BasicHashCacheDelta
 Basic delta on top of the hash cache. More...
 
class  BasicHashCacheView
 Basic view on top of the hash cache. More...
 
class  BasicHashLockInfoCacheDelta
 Basic delta on top of the hash lock info cache. More...
 
class  BasicHashLockInfoCacheView
 Basic view on top of the hash lock info cache. More...
 
class  BasicInsertRemoveMixin
 A mixin for adding basic insert and remove support to a cache. More...
 
class  BasicLockInfoCacheDelta
 Basic delta on top of the lock info cache. More...
 
class  BasicLockInfoCacheView
 Basic view on top of the lock info cache. More...
 
class  BasicMosaicCacheDelta
 Basic delta on top of the mosaic cache. More...
 
class  BasicMosaicCacheView
 Basic view on top of the mosaic cache. More...
 
class  BasicMultisigCacheDelta
 Basic delta on top of the multisig cache. More...
 
class  BasicMultisigCacheView
 Basic view on top of the multisig cache. More...
 
class  BasicNamespaceCache
 Cache composed of namespace information. More...
 
class  BasicNamespaceCacheDelta
 Basic delta on top of the namespace cache. More...
 
class  BasicNamespaceCacheView
 Basic view on top of the namespace cache. More...
 
class  BasicSecretLockInfoCacheDelta
 Basic delta on top of the secret lock info cache. More...
 
class  BasicSecretLockInfoCacheView
 Basic view on top of the secret lock info cache. More...
 
class  BasicTransactionsCache
 An interface for caching transactions. More...
 
class  BasicTransactionsCacheModifier
 An interface for modifying a transactions cache. More...
 
class  BasicTransactionsCacheModifierProxy
 
class  BlockDifficultyCache
 Synchronized cache composed of block difficulty information. More...
 
class  BlockDifficultyCacheDelta
 Delta on top of the block difficulty cache. More...
 
struct  BlockDifficultyCacheDescriptor
 Describes a block difficulty cache. More...
 
struct  BlockDifficultyCacheStorage
 Policy for saving and loading block difficulty cache data. More...
 
class  BlockDifficultyCacheSubCachePlugin
 Specialized block difficulty cache sub cache plugin. More...
 
class  BlockDifficultyCacheSummaryCacheStorage
 CacheStorage implementation for saving and loading summary block difficulty cache data. More...
 
struct  BlockDifficultyCacheTypes
 
class  BlockDifficultyCacheView
 View on top of the block difficulty cache. More...
 
class  CacheChanges
 Provides common view of aggregate cache changes. More...
 
class  CacheChangesStorage
 Interface for loading and saving cache changes. More...
 
class  CacheChangesStorageAdapter
 CacheChangesStorage implementation that wraps a cache and associated storage traits. More...
 
struct  CacheConfiguration
 Cache configuration. More...
 
class  CacheDatabaseMixin
 Mixin that owns a cache database. More...
 
class  CacheHeight
 A synchronized height associated with a catapult cache. More...
 
class  CacheHeightModifier
 A write only view on top of a cache height. More...
 
class  CacheHeightView
 A read only view on top of a cache height. More...
 
class  CachePatriciaTree
 A wrapper around a patricia tree used by caches. More...
 
class  CacheSerializerAdapter
 Cache serializer adapter. More...
 
class  CacheStorage
 Interface for loading and saving cache data. More...
 
class  CacheStorageAdapter
 A CacheStorage implementation that wraps a cache and associated storage traits. More...
 
struct  CacheStorageForBasicInsertRemoveCache
 Defines cache storage for cache with basic insert remove support. More...
 
struct  CacheStorageFromDescriptor
 Defines types for cache storage given a cache descriptor. More...
 
class  CatapultCache
 Central cache holding all sub caches. More...
 
class  CatapultCacheBuilder
 Builder for creating a catapult cache around sub caches. More...
 
class  CatapultCacheDelta
 Delta on top of a catapult cache. More...
 
class  CatapultCacheDetachableDelta
 
class  CatapultCacheDetachedDelta
 Detached delta of the catapult cache. More...
 
class  CatapultCacheView
 Locked view on top of the catapult cache. More...
 
class  ChunkedDataLoader
 Loads data from an input stream in chunks. More...
 
class  ConstAccessorMixin
 A mixin for adding const access support to a cache. More...
 
class  ContainsMixin
 A mixin for adding contains support to a cache. More...
 
class  DetachedSubCacheView
 Detached sub cache view. More...
 
class  DifficultyInfoRange
 A range of block difficulty infos. More...
 
class  HashCache
 Synchronized cache composed of timestamped hashes of (transaction) elements. More...
 
class  HashCacheDelta
 Delta on top of the hash cache. More...
 
struct  HashCacheDescriptor
 Describes a hash cache. More...
 
struct  HashCachePrimarySerializer
 Primary serializer for hash cache. More...
 
struct  HashCacheStorage
 Policy for saving and loading hash cache data. More...
 
struct  HashCacheTypes
 Hash cache types. More...
 
class  HashCacheView
 View on top of the hash cache. More...
 
struct  HashLockHeightGroupingSerializer
 Serializer for hash lock info cache height grouped elements. More...
 
struct  HashLockInfoBaseSetDeltaPointers
 
struct  HashLockInfoBaseSets
 
class  HashLockInfoCache
 Synchronized cache composed of hash lock info information. More...
 
class  HashLockInfoCacheDelta
 Delta on top of the hash lock info cache. More...
 
struct  HashLockInfoCacheDescriptor
 Describes a hash lock info cache. More...
 
struct  HashLockInfoCacheStorage
 Policy for saving and loading hash lock info cache data. More...
 
struct  HashLockInfoCacheTypes
 Hash lock info cache types. More...
 
class  HashLockInfoCacheView
 View on top of the hash lock info cache. More...
 
class  HashLockInfoPatriciaTree
 
struct  HashLockInfoPrimarySerializer
 Primary serializer for hash lock info cache. More...
 
class  HeightBasedPruningMixin
 A mixin for height-based pruning. More...
 
class  HeightBasedTouchMixin
 A mixin for height-based touching. More...
 
class  IdentifierGroupSerializer
 Serializer for identifier group elements. More...
 
class  ImportanceView
 A view on top of an account state cache for retrieving importances. More...
 
class  IterationMixin
 A mixin for adding iteration support to a cache. More...
 
struct  KeyAddressPairSerializer
 Serializer for key address lookup sub cache. More...
 
class  LockableCacheDelta
 
class  LockedCacheDelta
 A cache-delta, read-lock pair. More...
 
class  LockedCacheView
 
struct  LockInfoBaseSetDeltaPointers
 
struct  LockInfoBaseSets
 
class  LockInfoCacheDelta
 Delta on top of the lock info cache. More...
 
struct  LockInfoCacheDeltaMixins
 Mixins used by the lock info cache delta. More...
 
struct  LockInfoCacheStorage
 Policy for saving and loading lock info cache data. More...
 
struct  LockInfoCacheTypes
 Basic lock info cache types. More...
 
class  LockInfoCacheView
 View on top of the lock info cache. More...
 
struct  MemoryCacheChanges
 
struct  MemoryCacheChangesT
 Deserialized cache changes for a single cache. More...
 
class  MemoryCacheOptions
 Options for customizing the behavior of a memory based cache. More...
 
class  MemoryCacheProxy
 A delegating proxy around a memory-based cache. More...
 
class  MemoryPtCache
 Cache for all partial transactions. More...
 
class  MemoryPtCacheProxy
 A delegating proxy around a MemoryPtCache. More...
 
class  MemoryPtCacheView
 A read only view on top of partial transactions cache. More...
 
class  MemoryUtCache
 Cache for all unconfirmed transactions. More...
 
class  MemoryUtCacheProxy
 A delegating proxy around a MemoryUtCache. More...
 
class  MemoryUtCacheView
 A read only view on top of unconfirmed transactions cache. More...
 
struct  MosaicBaseSetDeltaPointers
 
struct  MosaicBaseSets
 
class  MosaicCache
 Synchronized cache composed of mosaic information. More...
 
class  MosaicCacheDelta
 Delta on top of the mosaic cache. More...
 
struct  MosaicCacheDeltaMixins
 Mixins used by the mosaic cache delta. More...
 
struct  MosaicCacheDescriptor
 Describes a mosaic cache. More...
 
struct  MosaicCacheStorage
 Policy for saving and loading mosaic cache data. More...
 
struct  MosaicCacheTypes
 Mosaic cache types. More...
 
class  MosaicCacheView
 View on top of the mosaic cache. More...
 
struct  MosaicCacheViewMixins
 Mixins used by the mosaic cache view. More...
 
struct  MosaicEntryPrimarySerializer
 Primary serializer for mosaic cache. More...
 
struct  MosaicHeightGroupingSerializer
 Serializer for mosaic cache height grouped elements. More...
 
class  MosaicPatriciaTree
 
struct  MultisigBaseSetDeltaPointers
 
struct  MultisigBaseSets
 
class  MultisigCache
 Synchronized cache composed of multisig information. More...
 
class  MultisigCacheDelta
 Delta on top of the multisig cache. More...
 
struct  MultisigCacheDescriptor
 Describes a multisig cache. More...
 
struct  MultisigCacheStorage
 Policy for saving and loading multisig cache data. More...
 
struct  MultisigCacheTypes
 Multisig cache types. More...
 
class  MultisigCacheView
 View on top of the multisig cache. More...
 
struct  MultisigEntryPrimarySerializer
 Primary serializer for multisig cache. More...
 
class  MultisigPatriciaTree
 
class  MutableAccessorMixin
 
struct  NamespaceBaseSetDeltaPointers
 
struct  NamespaceBaseSets
 
class  NamespaceCache
 Synchronized cache composed of namespace information. More...
 
class  NamespaceCacheDelta
 Delta on top of the namespace cache. More...
 
struct  NamespaceCacheDeltaMixins
 Mixins used by the namespace delta view. More...
 
struct  NamespaceCacheDescriptor
 Describes a namespace cache. More...
 
struct  NamespaceCacheStorage
 Policy for saving and loading namespace cache data. More...
 
class  NamespaceCacheSubCachePlugin
 Specialized namespace cache sub cache plugin. More...
 
class  NamespaceCacheSummaryCacheStorage
 CacheStorage implementation for saving and loading summary namespace cache data. More...
 
struct  NamespaceCacheTypes
 Namespace cache types. More...
 
class  NamespaceCacheView
 View on top of the namespace cache. More...
 
struct  NamespaceCacheViewMixins
 Mixins used by the namespace cache view. More...
 
class  NamespaceDeepSizeMixin
 A mixin for calculating the deep size of namespaces. More...
 
struct  NamespaceFlatMapTypesSerializer
 Serializer for namespace flat map sub cache. More...
 
struct  NamespaceHeightGroupingSerializer
 Serializer for namespace cache height grouped elements. More...
 
class  NamespaceLookupMixin
 
class  NamespacePatriciaTree
 
struct  NamespaceSizes
 Extended namespace sizes. More...
 
class  OptionalLockedCacheDelta
 An optional cache-delta, read-lock pair. More...
 
struct  PatriciaTreeCacheMixins
 Grouping of all basic and patricia tree cache mixins for a single set. More...
 
struct  PatriciaTreeColumnDescriptor
 Patricia tree column descriptor. More...
 
class  PatriciaTreeDeltaMixin
 A mixin for adding patricia tree support to a delta cache. More...
 
class  PatriciaTreeMixin
 A mixin for adding patricia tree support to a cache. More...
 
class  PatriciaTreeRdbDataSource
 Patricia tree rocksdb-based data source. More...
 
class  PtCache
 An interface for caching partial transactions. More...
 
class  PtCacheModifier
 
class  PtCacheModifierProxy
 
class  PtChangeSubscriber
 Partial transactions change subscriber. More...
 
class  PtData
 
class  RdbColumnContainer
 RocksDb-backed container adapter. More...
 
class  RdbDataIterator
 Iterator adapter, allowing existence check on keys and data retrieval. More...
 
class  RdbTypedColumnContainer
 Typed container adapter that wraps column. More...
 
class  ReadOnlyAccountStateCache
 A read-only overlay on top of an account cache. More...
 
class  ReadOnlyArtifactCache
 A read-only overlay on top of a cache that provides support for contains, get and isActive. More...
 
class  ReadOnlyCatapultCache
 A read-only overlay on top of a catapult cache. More...
 
class  ReadOnlySimpleCache
 A read-only overlay on top of a cache that provides support for contains. More...
 
class  ReadOnlyViewSupplier
 Decorates a view and supplies a read-only view. More...
 
class  RelockableDetachedCatapultCache
 A relockable detached catapult cache. More...
 
class  RocksDatabase
 RocksDb-backed database. More...
 
struct  RocksDatabaseSettings
 RocksDb settings. More...
 
class  RocksPruningFilter
 Rocks pruning filter. More...
 
struct  RootNamespaceHistoryPatriciaTreeSerializer
 
struct  RootNamespaceHistoryPrimarySerializer
 Primary serializer for namespace cache. More...
 
struct  SecretLockHeightGroupingSerializer
 Serializer for secret lock info cache height grouped elements. More...
 
struct  SecretLockInfoBaseSetDeltaPointers
 
struct  SecretLockInfoBaseSets
 
class  SecretLockInfoCache
 Synchronized cache composed of secret lock info information. More...
 
class  SecretLockInfoCacheDelta
 Delta on top of the secret lock info cache. More...
 
struct  SecretLockInfoCacheDescriptor
 Describes a secret lock info cache. More...
 
struct  SecretLockInfoCacheStorage
 Policy for saving and loading secret lock info cache data. More...
 
struct  SecretLockInfoCacheTypes
 Secret lock info cache types. More...
 
class  SecretLockInfoCacheView
 View on top of the secret lock info cache. More...
 
class  SecretLockInfoPatriciaTree
 
struct  SecretLockInfoPrimarySerializer
 Primary serializer for secret lock info cache. More...
 
class  SerializerHashedKeyEncoder
 Encoder adapter that hashes values and keys. More...
 
class  SerializerPlainKeyEncoder
 Encoder adapter that hashes values but not keys. More...
 
struct  ShortHashPair
 A unique identifier for a partial transaction. More...
 
struct  SingleCacheChanges
 
class  SingleCacheChangesT
 Provides common view of single sub cache changes. More...
 
struct  SingleSetAndPatriciaTreeCacheTypesAdapter
 A cache types adapter for a cache composed of a single set and a patricia tree. More...
 
struct  SingleSetCacheTypesAdapter
 A cache types adapter for a cache composed of a single set. More...
 
class  SizeMixin
 A mixin for adding size support to a cache. More...
 
struct  StateHashInfo
 Information about a cache state hash. More...
 
struct  StateVersion
 State version serialization helpers. More...
 
class  SubCachePlugin
 Sub cache plugin that can be added to the main catapult cache. More...
 
class  SubCachePluginAdapter
 A SubCachePlugin implementation that wraps a SynchronizedCache. More...
 
class  SubCacheView
 Sub cache view. More...
 
struct  SubCacheViewIdentifier
 Sub cache view identifier. More...
 
class  SummaryAwareSubCachePluginAdapter
 Specialized sub cache plugin adapter that provides proper handling of summary cache state. More...
 
class  SummaryCacheStorage
 CacheStorage implementation for saving and loading summary cache data. More...
 
struct  SupplementalData
 Chain supplemental data. More...
 
class  SynchronizedCache
 Decorator that synchronizes access to a cache. More...
 
class  SynchronizedCacheWithInit
 Decorator that synchronizes access to a cache and allows custom cache initialization. More...
 
struct  TransactionData
 
class  UtCache
 An interface for caching unconfirmed transactions. More...
 
class  UtCacheModifier
 An interface for modifying an unconfirmed transactions cache. More...
 
class  UtCacheModifierProxy
 
class  UtChangeSubscriber
 Unconfirmed transactions change subscriber. More...
 

Typedefs

using HashBasicCache = BasicCache< HashCacheDescriptor, HashCacheTypes::BaseSets, HashCacheTypes::Options >
 
using HashCacheDeltaMixins = BasicCacheMixins< HashCacheTypes::PrimaryTypes::BaseSetDeltaType, HashCacheDescriptor >
 Mixins used by the hash cache delta. More...
 
using HashCacheViewMixins = BasicCacheMixins< HashCacheTypes::PrimaryTypes::BaseSetType, HashCacheDescriptor >
 Mixins used by the hash cache view. More...
 
using BasicHashLockInfoCache = BasicCache< HashLockInfoCacheDescriptor, HashLockInfoCacheTypes::BaseSets >
 Cache composed of hash lock info information. More...
 
using BasicSecretLockInfoCache = BasicCache< SecretLockInfoCacheDescriptor, SecretLockInfoCacheTypes::BaseSets >
 Cache composed of secret lock info information. More...
 
template<typename TDescriptor >
using LockInfoPatriciaTree = tree::BasePatriciaTree< SerializerHashedKeyEncoder< typename TDescriptor::Serializer >, PatriciaTreeRdbDataSource, utils::ArrayHasher< typename TDescriptor::KeyType > >
 
template<typename TDescriptor , typename TCacheTypes >
using LockInfoCacheViewMixins = PatriciaTreeCacheMixins< typename TCacheTypes::PrimaryTypes::BaseSetType, TDescriptor >
 Mixins used by the lock info cache view. More...
 
using BasicMosaicPatriciaTree = tree::BasePatriciaTree< SerializerHashedKeyEncoder< MosaicCacheDescriptor::Serializer >, PatriciaTreeRdbDataSource, utils::BaseValueHasher< MosaicId > >
 
using BasicMosaicCache = BasicCache< MosaicCacheDescriptor, MosaicCacheTypes::BaseSets >
 Cache composed of mosaic information. More...
 
using BasicMultisigPatriciaTree = tree::BasePatriciaTree< SerializerHashedKeyEncoder< MultisigCacheDescriptor::Serializer >, PatriciaTreeRdbDataSource, utils::ArrayHasher< Key > >
 
using MultisigSingleSetCacheTypesAdapter = SingleSetAndPatriciaTreeCacheTypesAdapter< MultisigCacheTypes::PrimaryTypes, MultisigPatriciaTree >
 
using BasicMultisigCache = BasicCache< MultisigCacheDescriptor, MultisigCacheTypes::BaseSets >
 Cache composed of multisig information. More...
 
using MultisigCacheDeltaMixins = PatriciaTreeCacheMixins< MultisigCacheTypes::PrimaryTypes::BaseSetDeltaType, MultisigCacheDescriptor >
 Mixins used by the multisig cache delta. More...
 
using MultisigCacheViewMixins = PatriciaTreeCacheMixins< MultisigCacheTypes::PrimaryTypes::BaseSetType, MultisigCacheDescriptor >
 Mixins used by the multisig cache view. More...
 
using BasicNamespacePatriciaTree = tree::BasePatriciaTree< SerializerHashedKeyEncoder< RootNamespaceHistoryPatriciaTreeSerializer >, PatriciaTreeRdbDataSource, utils::BaseValueHasher< NamespaceId > >
 
using NamespaceBasicCache = BasicCache< NamespaceCacheDescriptor, NamespaceCacheTypes::BaseSets, NamespaceCacheTypes::Options, const NamespaceSizes & >
 
using BaseNamespaceCacheSubCachePlugin = SummaryAwareSubCachePluginAdapter< NamespaceCache, NamespaceCacheStorage, NamespaceCacheSummaryCacheStorage >
 
using BasicAccountRestrictionPatriciaTree = tree::BasePatriciaTree< SerializerHashedKeyEncoder< AccountRestrictionCacheDescriptor::Serializer >, PatriciaTreeRdbDataSource, utils::ArrayHasher< Address > >
 
using AccountRestrictionSingleSetCacheTypesAdapter = SingleSetAndPatriciaTreeCacheTypesAdapter< AccountRestrictionCacheTypes::PrimaryTypes, AccountRestrictionPatriciaTree >
 
using BasicAccountRestrictionCache = BasicCache< AccountRestrictionCacheDescriptor, AccountRestrictionCacheTypes::BaseSets, model::NetworkIdentifier >
 Cache composed of account restriction information. More...
 
using AccountRestrictionCacheDeltaMixins = PatriciaTreeCacheMixins< AccountRestrictionCacheTypes::PrimaryTypes::BaseSetDeltaType, AccountRestrictionCacheDescriptor >
 Mixins used by the account restriction cache delta. More...
 
using AccountRestrictionCacheViewMixins = PatriciaTreeCacheMixins< AccountRestrictionCacheTypes::PrimaryTypes::BaseSetType, AccountRestrictionCacheDescriptor >
 Mixins used by the account restriction cache view. More...
 
template<typename TDescriptor , typename TValueHasher = std::hash<typename TDescriptor::KeyType>>
using MutableUnorderedMapAdapter = detail::UnorderedMapAdapter< deltaset::MutableTypeTraits< typename TDescriptor::ValueType >, TDescriptor, TValueHasher >
 Defines cache types for an unordered mutable map based cache. More...
 
template<typename TDescriptor , typename TValueHasher = std::hash<typename TDescriptor::KeyType>>
using ImmutableUnorderedMapAdapter = detail::UnorderedMapAdapter< deltaset::ImmutableTypeTraits< typename TDescriptor::ValueType >, TDescriptor, TValueHasher >
 Defines cache types for an unordered immutable map based cache. More...
 
template<typename TDescriptor >
using MutableOrderedMemorySetAdapter = detail::OrderedMemorySetAdapter< deltaset::MutableTypeTraits< typename TDescriptor::ValueType > >
 Defines cache types for an ordered, mutable, memory backed set based cache. More...
 
template<typename TDescriptor >
using ImmutableOrderedMemorySetAdapter = detail::OrderedMemorySetAdapter< deltaset::ImmutableTypeTraits< typename TDescriptor::ValueType > >
 Defines cache types for an ordered, immutable, memory backed set based cache. More...
 
template<typename TDescriptor >
using MutableOrderedSetAdapter = detail::OrderedSetAdapter< deltaset::MutableTypeTraits< typename TDescriptor::ValueType >, TDescriptor >
 Defines cache types for an ordered mutable set based cache. More...
 
template<typename TDescriptor >
using ImmutableOrderedSetAdapter = detail::OrderedSetAdapter< deltaset::ImmutableTypeTraits< typename TDescriptor::ValueType >, TDescriptor >
 Defines cache types for an ordered immutable set based cache. More...
 
using BasicAccountStatePatriciaTree = tree::BasePatriciaTree< SerializerHashedKeyEncoder< AccountStatePatriciaTreeSerializer >, PatriciaTreeRdbDataSource, utils::ArrayHasher< Address > >
 
using AccountStateBasicCache = BasicCache< AccountStateCacheDescriptor, AccountStateCacheTypes::BaseSets, AccountStateCacheTypes::Options, const model::AddressSet & >
 
using BaseAccountStateCacheSubCachePlugin = SummaryAwareSubCachePluginAdapter< AccountStateCache, AccountStateCacheStorage, AccountStateCacheSummaryCacheStorage >
 
using BlockDifficultyBasicCache = BasicCache< BlockDifficultyCacheDescriptor, BlockDifficultyCacheTypes::BaseSets, BlockDifficultyCacheTypes::Options >
 
using BlockDifficultyCacheDeltaMixins = BasicCacheMixins< BlockDifficultyCacheTypes::PrimaryTypes::BaseSetDeltaType, BlockDifficultyCacheDescriptor >
 Mixins used by the block difficulty cache delta. More...
 
using BlockDifficultyCacheViewMixins = BasicCacheMixins< BlockDifficultyCacheTypes::PrimaryTypes::BaseSetType, BlockDifficultyCacheDescriptor >
 Mixins used by the block difficulty cache view. More...
 
using CacheDatabase = RocksDatabase
 RocksDb-backed cache database. More...
 
using CacheDatabaseSettings = RocksDatabaseSettings
 RocksDb-backed cache database settings. More...
 
template<typename TDescriptor >
using CacheContainerView = RdbTypedColumnContainer< TDescriptor >
 RocksDb-backed cache database container view. More...
 
using PatriciaTreeContainer = cache::RdbTypedColumnContainer< PatriciaTreeColumnDescriptor >
 Patricia tree typed container. More...
 
using PtDataContainer = std::unordered_map< Hash256, PtData, utils::ArrayHasher< Hash256 > >
 
using TransactionDataContainer = std::set< TransactionData >
 
using ShortHashPairRange = model::EntityRange< ShortHashPair >
 An entity range composed of short hash pairs. More...
 
using ShortHashPairMap = std::unordered_map< utils::ShortHash, utils::ShortHash, utils::ShortHashHasher >
 A map composed of short hash pairs where the key is the transaction short hash and the value is the cosignatures short hash. More...
 

Enumerations

enum  PatriciaTreeStorageMode { PatriciaTreeStorageMode::Disabled, PatriciaTreeStorageMode::Enabled }
 Possible patricia tree storage modes. More...
 
enum  CacheId : uint32_t {
  CacheId::AccountState, CacheId::BlockDifficulty, CacheId::Hash, CacheId::Namespace,
  CacheId::Mosaic, CacheId::Multisig, CacheId::HashLockInfo, CacheId::SecretLockInfo,
  CacheId::AccountRestriction, CacheId::MosaicRestriction, CacheId::Metadata
}
 Cache ids for well-known caches. More...
 
enum  SubCacheViewType { SubCacheViewType::View, SubCacheViewType::Delta, SubCacheViewType::DetachedDelta }
 Sub cache view types. More...
 
enum  FilterPruningMode { FilterPruningMode::Disabled, FilterPruningMode::Enabled }
 Possible modes of rocks pruning filter. More...
 

Functions

bool HashCacheContains (const CatapultCache &cache, Timestamp timestamp, const Hash256 &hash)
 Returns true if cache contains hash with timestamp. More...
 
size_t FindAncestors (const MultisigCacheTypes::CacheReadOnlyType &cache, const Key &key, utils::KeySet &ancestorKeys)
 
size_t FindDescendants (const MultisigCacheTypes::CacheReadOnlyType &cache, const Key &key, utils::KeySet &descendantKeys)
 
template<typename TSerializer , typename TCacheDelta , typename TValue >
void WriteCacheChanges (const SingleCacheChangesT< TCacheDelta, TValue > &changes, io::OutputStream &outputStream)
 Writes serialized cache changes into outputStream. More...
 
template<typename TSerializer , typename TValue >
void ReadCacheChanges (io::InputStream &inputStream, MemoryCacheChangesT< TValue > &changes)
 Reads serialized cache changes from inputStream. More...
 
template<typename TGroupedSet , typename TGroupingKey , typename TIdentifier >
void AddIdentifierWithGroup (TGroupedSet &groupedSet, const TGroupingKey &key, const TIdentifier &identifier)
 Adds an identifier with with grouping key to groupedSet. More...
 
template<typename TSet , typename TGroupedSet , typename TGroupingKey , typename TAction >
void ForEachIdentifierWithGroup (TSet &set, const TGroupedSet &groupedSet, const TGroupingKey &key, TAction action)
 Calls action for each value in set with grouping key according to groupedSet. More...
 
template<typename TGroupedSet , typename TGroupingKey , typename TIdentifier >
void RemoveIdentifierWithGroup (TGroupedSet &groupedSet, const TGroupingKey &key, const TIdentifier &identifier)
 Removes an identifier with grouping key from groupedSet. More...
 
template<typename TSet , typename TGroupedSet , typename TGroupingKey >
void RemoveAllIdentifiersWithGroup (TSet &set, TGroupedSet &groupedSet, const TGroupingKey &key)
 Removes all values in set with grouping key according to groupedSet. More...
 
template<typename TSet , typename TGroupedSet , typename TIdentifiers = typename TGroupedSet::ElementType::Identifiers>
TIdentifiers FindDeactivatingIdentifiersAtHeight (const TSet &set, const TGroupedSet &groupedSet, Height height)
 Finds identifiers of all values in set (with grouped view groupedSet) that are deactivating at height. More...
 
template<typename TTree , typename TSet >
void ApplyDeltasToTree (TTree &tree, const TSet &set, uint32_t minGenerationId, Height height)
 
void SaveSupplementalData (const SupplementalData &supplementalData, Height chainHeight, io::OutputStream &output)
 Saves supplementalData and chainHeight to output. More...
 
void LoadSupplementalData (io::InputStream &input, SupplementalData &supplementalData, Height &chainHeight)
 Loads supplementalData and chainHeight from input. More...
 
void ProcessForwardedAccountState (AccountStateCacheDelta &cache, const Key &publicKey, const consumer< state::AccountState & > &action)
 Forwards account state or linked account state found in cache associated with publicKey to action. More...
 
template<typename TValue , typename X = std::enable_if_t<utils::traits::is_scalar_v<TValue>>>
RawBuffer SerializeKey (const TValue &value)
 Serializes value-based key (value). More...
 
template<size_t N, typename TTag >
RawBuffer SerializeKey (const utils::ByteArray< N, TTag > &container)
 Serializes array-based key (container). More...
 
template<typename TKeyTraits , typename TDescriptor , typename TContainer , typename TMemorySet >
void UpdateSet (RdbTypedColumnContainer< TDescriptor, TContainer > &elements, const deltaset::DeltaElements< TMemorySet > &deltas)
 Applies all changes in deltas to elements. More...
 
template<typename TDescriptor , typename TContainer , typename TPruningBoundary >
void PruneBaseSet (RdbTypedColumnContainer< TDescriptor, TContainer > &elements, const TPruningBoundary &pruningBoundary)
 Optionally prunes elements using pruningBoundary, which indicates the upper bound of elements to remove. More...
 
std::unique_ptr< PtCacheCreateAggregatePtCache (PtCache &ptCache, std::unique_ptr< PtChangeSubscriber > &&pPtChangeSubscriber)
 Creates an aggregate pt cache that delegates to ptCache and publishes pt transaction changes to pPtChangeSubscriber. More...
 
std::unique_ptr< UtCacheCreateAggregateUtCache (UtCache &utCache, std::unique_ptr< UtChangeSubscriber > &&pUtChangeSubscriber)
 Creates an aggregate ut cache that delegates to utCache and publishes ut transaction changes to pUtChangeSubscriber. More...
 
void LogSizes (const char *name, size_t actual, uint64_t max)
 Logs cache sizes for a cache with name at specified levels of fullness given its actual and max sizes. More...
 
std::vector< const model::TransactionInfo * > GetFirstTransactionInfoPointers (const MemoryUtCacheView &utCacheView, uint32_t count)
 
std::vector< const model::TransactionInfo * > GetFirstTransactionInfoPointers (const MemoryUtCacheView &utCacheView, uint32_t count, const predicate< const model::TransactionInfo & > &filter)
 
std::vector< const model::TransactionInfo * > GetFirstTransactionInfoPointers (const MemoryUtCacheView &utCacheView, uint32_t count, const predicate< const model::TransactionInfo *, const model::TransactionInfo * > &sortComparer, const predicate< const model::TransactionInfo & > &filter)
 

Variables

constexpr size_t Special_Key_Max_Length = 8
 

Typedef Documentation

◆ AccountRestrictionCacheDeltaMixins

◆ AccountRestrictionCacheViewMixins

◆ AccountRestrictionSingleSetCacheTypesAdapter

◆ AccountStateBasicCache

◆ BaseAccountStateCacheSubCachePlugin

◆ BaseNamespaceCacheSubCachePlugin

◆ BasicAccountRestrictionCache

◆ BasicAccountRestrictionPatriciaTree

◆ BasicAccountStatePatriciaTree

◆ BasicHashLockInfoCache

◆ BasicMosaicCache

Cache composed of mosaic information.

◆ BasicMosaicPatriciaTree

◆ BasicMultisigCache

◆ BasicMultisigPatriciaTree

◆ BasicNamespacePatriciaTree

◆ BasicSecretLockInfoCache

◆ BlockDifficultyBasicCache

◆ BlockDifficultyCacheDeltaMixins

◆ BlockDifficultyCacheViewMixins

◆ CacheContainerView

template<typename TDescriptor >
using catapult::cache::CacheContainerView = typedef RdbTypedColumnContainer<TDescriptor>

RocksDb-backed cache database container view.

◆ CacheDatabase

RocksDb-backed cache database.

◆ CacheDatabaseSettings

RocksDb-backed cache database settings.

◆ HashBasicCache

◆ HashCacheDeltaMixins

◆ HashCacheViewMixins

◆ ImmutableOrderedMemorySetAdapter

template<typename TDescriptor >
using catapult::cache::ImmutableOrderedMemorySetAdapter = typedef detail::OrderedMemorySetAdapter< deltaset::ImmutableTypeTraits<typename TDescriptor::ValueType> >

Defines cache types for an ordered, immutable, memory backed set based cache.

◆ ImmutableOrderedSetAdapter

template<typename TDescriptor >
using catapult::cache::ImmutableOrderedSetAdapter = typedef detail::OrderedSetAdapter< deltaset::ImmutableTypeTraits<typename TDescriptor::ValueType>, TDescriptor>

Defines cache types for an ordered immutable set based cache.

◆ ImmutableUnorderedMapAdapter

template<typename TDescriptor , typename TValueHasher = std::hash<typename TDescriptor::KeyType>>
using catapult::cache::ImmutableUnorderedMapAdapter = typedef detail::UnorderedMapAdapter< deltaset::ImmutableTypeTraits<typename TDescriptor::ValueType>, TDescriptor, TValueHasher>

Defines cache types for an unordered immutable map based cache.

◆ LockInfoCacheViewMixins

template<typename TDescriptor , typename TCacheTypes >
using catapult::cache::LockInfoCacheViewMixins = typedef PatriciaTreeCacheMixins<typename TCacheTypes::PrimaryTypes::BaseSetType, TDescriptor>

Mixins used by the lock info cache view.

◆ LockInfoPatriciaTree

template<typename TDescriptor >
using catapult::cache::LockInfoPatriciaTree = typedef tree::BasePatriciaTree< SerializerHashedKeyEncoder<typename TDescriptor::Serializer>, PatriciaTreeRdbDataSource, utils::ArrayHasher<typename TDescriptor::KeyType> >

◆ MultisigCacheDeltaMixins

◆ MultisigCacheViewMixins

◆ MultisigSingleSetCacheTypesAdapter

◆ MutableOrderedMemorySetAdapter

template<typename TDescriptor >
using catapult::cache::MutableOrderedMemorySetAdapter = typedef detail::OrderedMemorySetAdapter< deltaset::MutableTypeTraits<typename TDescriptor::ValueType> >

Defines cache types for an ordered, mutable, memory backed set based cache.

◆ MutableOrderedSetAdapter

template<typename TDescriptor >
using catapult::cache::MutableOrderedSetAdapter = typedef detail::OrderedSetAdapter< deltaset::MutableTypeTraits<typename TDescriptor::ValueType>, TDescriptor>

Defines cache types for an ordered mutable set based cache.

◆ MutableUnorderedMapAdapter

template<typename TDescriptor , typename TValueHasher = std::hash<typename TDescriptor::KeyType>>
using catapult::cache::MutableUnorderedMapAdapter = typedef detail::UnorderedMapAdapter< deltaset::MutableTypeTraits<typename TDescriptor::ValueType>, TDescriptor, TValueHasher>

Defines cache types for an unordered mutable map based cache.

◆ NamespaceBasicCache

◆ PatriciaTreeContainer

◆ PtDataContainer

◆ ShortHashPairMap

A map composed of short hash pairs where the key is the transaction short hash and the value is the cosignatures short hash.

◆ ShortHashPairRange

An entity range composed of short hash pairs.

◆ TransactionDataContainer

Internal container wrapped by MemoryUtCache.

Note
std::set is used to allow incomplete type.

Enumeration Type Documentation

◆ CacheId

enum catapult::cache::CacheId : uint32_t
strong

Cache ids for well-known caches.

Enumerator
AccountState 
BlockDifficulty 
Hash 
Namespace 
Mosaic 
Multisig 
HashLockInfo 
SecretLockInfo 
AccountRestriction 
MosaicRestriction 
Metadata 

◆ FilterPruningMode

Possible modes of rocks pruning filter.

Enumerator
Disabled 

Disabled, skip allocation of underlying filter implementation.

Enabled 

Enabled, allocate underlying filter implementation.

◆ PatriciaTreeStorageMode

Possible patricia tree storage modes.

Enumerator
Disabled 

Patricia tree storage should be disabled.

Enabled 

Patricia tree storage should be enabled.

◆ SubCacheViewType

Sub cache view types.

Enumerator
View 

Cache view.

Delta 

Cache delta.

DetachedDelta 

Cache detached delta.

Function Documentation

◆ AddIdentifierWithGroup()

template<typename TGroupedSet , typename TGroupingKey , typename TIdentifier >
void catapult::cache::AddIdentifierWithGroup ( TGroupedSet &  groupedSet,
const TGroupingKey &  key,
const TIdentifier &  identifier 
)

Adds an identifier with with grouping key to groupedSet.

Here is the caller graph for this function:

◆ ApplyDeltasToTree()

template<typename TTree , typename TSet >
void catapult::cache::ApplyDeltasToTree ( TTree &  tree,
const TSet &  set,
uint32_t  minGenerationId,
Height  height 
)

Applies all changes in set to tree for all generations starting at minGenerationId through the current generation given the current chain height.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateAggregatePtCache()

std::unique_ptr< PtCache > catapult::cache::CreateAggregatePtCache ( PtCache ptCache,
std::unique_ptr< PtChangeSubscriber > &&  pPtChangeSubscriber 
)

Creates an aggregate pt cache that delegates to ptCache and publishes pt transaction changes to pPtChangeSubscriber.

Here is the caller graph for this function:

◆ CreateAggregateUtCache()

std::unique_ptr< UtCache > catapult::cache::CreateAggregateUtCache ( UtCache utCache,
std::unique_ptr< UtChangeSubscriber > &&  pUtChangeSubscriber 
)

Creates an aggregate ut cache that delegates to utCache and publishes ut transaction changes to pUtChangeSubscriber.

Here is the caller graph for this function:

◆ FindAncestors()

size_t catapult::cache::FindAncestors ( const MultisigCacheTypes::CacheReadOnlyType cache,
const Key key,
utils::KeySet ancestorKeys 
)

Finds all ancestors of a key in cache, adds them to ancestorKeys and returns the maximum distance between key and any ancestor.

◆ FindDeactivatingIdentifiersAtHeight()

template<typename TSet , typename TGroupedSet , typename TIdentifiers = typename TGroupedSet::ElementType::Identifiers>
TIdentifiers catapult::cache::FindDeactivatingIdentifiersAtHeight ( const TSet &  set,
const TGroupedSet &  groupedSet,
Height  height 
)

Finds identifiers of all values in set (with grouped view groupedSet) that are deactivating at height.

Here is the caller graph for this function:

◆ FindDescendants()

size_t catapult::cache::FindDescendants ( const MultisigCacheTypes::CacheReadOnlyType cache,
const Key key,
utils::KeySet descendantKeys 
)

Finds all descendants of a key in cache, adds them to descendantKeys and returns the maximum distance between key and any descendant.

◆ ForEachIdentifierWithGroup()

template<typename TSet , typename TGroupedSet , typename TGroupingKey , typename TAction >
void catapult::cache::ForEachIdentifierWithGroup ( TSet &  set,
const TGroupedSet &  groupedSet,
const TGroupingKey &  key,
TAction  action 
)

Calls action for each value in set with grouping key according to groupedSet.

Here is the caller graph for this function:

◆ GetFirstTransactionInfoPointers() [1/3]

std::vector< const model::TransactionInfo * > catapult::cache::GetFirstTransactionInfoPointers ( const MemoryUtCacheView utCacheView,
uint32_t  count 
)

Gets pointers to the first count transaction infos in utCacheView.

Note
Pointers are only safe to access during the lifetime of utCacheView.
Here is the call graph for this function:

◆ GetFirstTransactionInfoPointers() [2/3]

std::vector< const model::TransactionInfo * > catapult::cache::GetFirstTransactionInfoPointers ( const MemoryUtCacheView utCacheView,
uint32_t  count,
const predicate< const model::TransactionInfo & > &  filter 
)

Gets pointers to the first count transaction infos in utCacheView that pass filter.

Note
Pointers are only safe to access during the lifetime of utCacheView.
Here is the call graph for this function:

◆ GetFirstTransactionInfoPointers() [3/3]

std::vector< const model::TransactionInfo * > catapult::cache::GetFirstTransactionInfoPointers ( const MemoryUtCacheView utCacheView,
uint32_t  count,
const predicate< const model::TransactionInfo *, const model::TransactionInfo * > &  sortComparer,
const predicate< const model::TransactionInfo & > &  filter 
)

Gets pointers to the first count transaction infos in utCacheView that pass filter after sorting by sortComparer.

Note
Pointers are only safe to access during the lifetime of utCacheView.
Here is the call graph for this function:

◆ HashCacheContains()

bool catapult::cache::HashCacheContains ( const CatapultCache cache,
Timestamp  timestamp,
const Hash256 hash 
)

Returns true if cache contains hash with timestamp.

Here is the call graph for this function:

◆ LoadSupplementalData()

void catapult::cache::LoadSupplementalData ( io::InputStream input,
SupplementalData supplementalData,
Height chainHeight 
)

Loads supplementalData and chainHeight from input.

Here is the call graph for this function:

◆ LogSizes()

void catapult::cache::LogSizes ( const char *  name,
size_t  actual,
uint64_t  max 
)
inline

Logs cache sizes for a cache with name at specified levels of fullness given its actual and max sizes.

Here is the call graph for this function:

◆ ProcessForwardedAccountState()

void catapult::cache::ProcessForwardedAccountState ( AccountStateCacheDelta cache,
const Key publicKey,
const consumer< state::AccountState & > &  action 
)

Forwards account state or linked account state found in cache associated with publicKey to action.

Here is the call graph for this function:

◆ PruneBaseSet()

template<typename TDescriptor , typename TContainer , typename TPruningBoundary >
void catapult::cache::PruneBaseSet ( RdbTypedColumnContainer< TDescriptor, TContainer > &  elements,
const TPruningBoundary &  pruningBoundary 
)

Optionally prunes elements using pruningBoundary, which indicates the upper bound of elements to remove.

Here is the call graph for this function:

◆ ReadCacheChanges()

template<typename TSerializer , typename TValue >
void catapult::cache::ReadCacheChanges ( io::InputStream inputStream,
MemoryCacheChangesT< TValue > &  changes 
)

Reads serialized cache changes from inputStream.

Here is the call graph for this function:

◆ RemoveAllIdentifiersWithGroup()

template<typename TSet , typename TGroupedSet , typename TGroupingKey >
void catapult::cache::RemoveAllIdentifiersWithGroup ( TSet &  set,
TGroupedSet &  groupedSet,
const TGroupingKey &  key 
)

Removes all values in set with grouping key according to groupedSet.

Here is the caller graph for this function:

◆ RemoveIdentifierWithGroup()

template<typename TGroupedSet , typename TGroupingKey , typename TIdentifier >
void catapult::cache::RemoveIdentifierWithGroup ( TGroupedSet &  groupedSet,
const TGroupingKey &  key,
const TIdentifier &  identifier 
)

Removes an identifier with grouping key from groupedSet.

Here is the caller graph for this function:

◆ SaveSupplementalData()

void catapult::cache::SaveSupplementalData ( const SupplementalData supplementalData,
Height  chainHeight,
io::OutputStream output 
)

Saves supplementalData and chainHeight to output.

Here is the call graph for this function:

◆ SerializeKey() [1/2]

template<typename TValue , typename X = std::enable_if_t<utils::traits::is_scalar_v<TValue>>>
RawBuffer catapult::cache::SerializeKey ( const TValue &  value)

Serializes value-based key (value).

Here is the caller graph for this function:

◆ SerializeKey() [2/2]

template<size_t N, typename TTag >
RawBuffer catapult::cache::SerializeKey ( const utils::ByteArray< N, TTag > &  container)

Serializes array-based key (container).

◆ UpdateSet()

template<typename TKeyTraits , typename TDescriptor , typename TContainer , typename TMemorySet >
void catapult::cache::UpdateSet ( RdbTypedColumnContainer< TDescriptor, TContainer > &  elements,
const deltaset::DeltaElements< TMemorySet > &  deltas 
)

Applies all changes in deltas to elements.

Here is the call graph for this function:

◆ WriteCacheChanges()

template<typename TSerializer , typename TCacheDelta , typename TValue >
void catapult::cache::WriteCacheChanges ( const SingleCacheChangesT< TCacheDelta, TValue > &  changes,
io::OutputStream outputStream 
)

Writes serialized cache changes into outputStream.

Here is the call graph for this function:

Variable Documentation

◆ Special_Key_Max_Length

constexpr size_t catapult::cache::Special_Key_Max_Length = 8
constexpr

Maximum length of special keys that should not be pruned.

Note
Value should be <= sizeof(uint64_t)