case class PersistentMap[K, V, C <: MapCache[K, V]](path: Path, mmap: data.config.MMAP.Map, fileSize: Long, flushOnOverflow: Boolean, cache: C, currentFile: DBFile)(implicit fileSweeper: FileSweeperActor, bufferCleaner: ByteBufferSweeperActor, writer: MapEntryWriter[Put[K, V]], forceSaveApplier: ForceSaveApplier) extends Map[K, V, C] with LazyLogging with Product with Serializable
- Attributes
- protected
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- PersistentMap
- Serializable
- Product
- Equals
- LazyLogging
- Map
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new PersistentMap(path: Path, mmap: data.config.MMAP.Map, fileSize: Long, flushOnOverflow: Boolean, cache: C, currentFile: DBFile)(implicit fileSweeper: FileSweeperActor, bufferCleaner: ByteBufferSweeperActor, writer: MapEntryWriter[Put[K, V]], forceSaveApplier: ForceSaveApplier)
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
- implicit val bufferCleaner: ByteBufferSweeperActor
- val cache: C
- Definition Classes
- PersistentMap → Map
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def close(): Unit
- Definition Classes
- PersistentMap → Map
- def currentFilePath: Path
- def delete: Unit
- Definition Classes
- PersistentMap → Map
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(obj: Any): Boolean
- Definition Classes
- Map → AnyRef → Any
- def exists: Boolean
- Definition Classes
- PersistentMap → Map
- val fileSize: Long
- Definition Classes
- PersistentMap → Map
- implicit val fileSweeper: FileSweeperActor
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val flushOnOverflow: Boolean
- implicit val forceSaveApplier: ForceSaveApplier
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- Map → AnyRef → Any
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- Annotations
- @transient()
- val mmap: data.config.MMAP.Map
- Definition Classes
- PersistentMap → Map
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val path: Path
- def pathOption: Option[Path]
- Definition Classes
- PersistentMap → Map
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Map → AnyRef → Any
- def typeName: String
- val uniqueFileNumber: Long
- Definition Classes
- PersistentMap → Map
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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 writeNoSync(entry: MapEntry[K, V]): Boolean
Before writing the Entry, check to ensure if the current MapEntry requires a merge write or direct write.
Before writing the Entry, check to ensure if the current MapEntry requires a merge write or direct write.
Merge write should be used when - The entry contains a swaydb.core.data.Memory.Range key-value. - The entry contains a swaydb.core.data.Memory.Update Update key-value. - The entry contains a swaydb.core.data.Memory.Remove with deadline key-value. Removes without deadlines do not require merging.
Note: These check are not required for Appendix writes because Appendix entries current do not use Range, Update or key-values with deadline.
- Definition Classes
- PersistentMap → Map
- Annotations
- @tailrec()
- def writeSafe[E](mapEntry: MapEntry[K, V])(implicit arg0: ExceptionHandler[E]): IO[E, Boolean]
- Definition Classes
- Map
- def writeSync(mapEntry: MapEntry[K, V]): Boolean
- Definition Classes
- PersistentMap → Map
- implicit val writer: MapEntryWriter[Put[K, V]]