sealed trait CacheMapImpl[T <: Txn[T], K, Store] extends CacheMap[T, K, Store]
A cache map puts an in-memory transaction local cache in front of a persistent store. Entries written during the transaction are held in this cache for fast retrieval. But the cache serves a second purpose: In the confluent system, the write paths are incomplete during the transaction, as it is not known in advance whether a meld forces a new index tree to be generated or not. In this case, the implementation needs to gather this information during the transaction, and when the flush is performed, the new terminal version is appended before writing the cached entries to the persistent store.
- T
the underlying system's transaction type
- K
the key type (typically
Intfor a variable map orLongfor an identifier map)
- Alphabetic
- By Inheritance
- CacheMapImpl
- CacheMap
- Cache
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def removeCache(key: K, tx: T)(implicit path: CacheMap.T.Acc): Boolean
- Definition Classes
- CacheMap
- abstract def store: Store
The persistent map to which the data is flushed or from which it is retrieved when not residing in cache.
The persistent map to which the data is flushed or from which it is retrieved when not residing in cache.
- Definition Classes
- CacheMap
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def cacheContains(key: K, tx: T)(implicit path: T.Acc): Boolean
- Definition Classes
- CacheMapImpl → CacheMap
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def flushCache(term: Long)(implicit tx: T): Unit
This method should be invoked from the implementations flush hook after it has determined the terminal version at which the entries in the cache are written to the persistent store.
This method should be invoked from the implementations flush hook after it has determined the terminal version at which the entries in the cache are written to the persistent store. If this method is not called, the cache will just vanish and not be written out to the
persistentstore.- term
the new version to append to the paths in the cache (using the
PathLike'saddTermmethod)- tx
the current transaction (should be in commit or right-before commit phase)
- Definition Classes
- CacheMapImpl → CacheMap → Cache
- final def getCacheOnly[A](key: K, tx: T)(implicit path: T.Acc): Option[A]
- Definition Classes
- CacheMapImpl → CacheMap
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def putCacheOnly(key: K, e: Entry[T, K, Store])(implicit tx: T): Unit
- Attributes
- protected
- final def removeCacheOnly(key: K, tx: T)(implicit path: T.Acc): Boolean
Removes an entry from the cache, and only the cache.
Removes an entry from the cache, and only the cache. This will not affect any values also persisted to
persistent! If the cache does not contain an entry at the givenkey, this method simply returns.- key
key at which the entry is stored
- tx
the current transaction
- Definition Classes
- CacheMapImpl → CacheMap
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated