object DurableStore
An actor implementing the durable store for the Distributed Data Replicator
has to implement the protocol with the messages defined here.
At startup the Replicator creates the durable store actor and sends the
Load message to it. It must then reply with 0 or more LoadData messages
followed by one LoadAllCompleted message to the sender (the Replicator).
If the LoadAll fails it can throw LoadFailed and the Replicator supervisor
will stop itself and the durable store.
When the Replicator needs to store a value it sends a Store message
to the durable store actor, which must then reply with the successMsg or
failureMsg to the replyTo.
When entries have expired the Replicator sends a Expire message to the durable
store actor, which can delete the entries from the backend store.
- Source
- DurableStore.scala
- Alphabetic
- By Inheritance
- DurableStore
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final class DurableDataEnvelope extends ReplicatorMessage
Wrapper class for serialization of a data value.
Wrapper class for serialization of a data value. The
ReplicatorMessageSerializerwill serialize/deserialize the wrappedReplicatedDataincluding its serializerId and manifest. - final case class Expire(keys: Set[KeyId]) extends Product with Serializable
Request to expire (remove) entries.
- final case class LoadData(data: Map[KeyId, DurableDataEnvelope]) extends Product with Serializable
- class LoadFailed extends RuntimeException
- final case class Store(key: KeyId, data: DurableDataEnvelope, reply: Option[StoreReply]) extends Product with Serializable
Request to store an entry.
Request to store an entry. It optionally contains a
StoreReply, which should be used to signal success or failure of the operation to the containedreplyToactor. - final case class StoreReply(successMsg: Any, failureMsg: Any, replyTo: ActorRef) extends Product with Serializable
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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- 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
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- 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])
- case object LoadAll extends Product with Serializable
Request to load all entries.
Request to load all entries.
It must reply with 0 or more
LoadDatamessages followed by oneLoadAllCompletedmessage to thesender(theReplicator).If the
LoadAllfails it can throwLoadFailedand theReplicatorsupervisor will stop itself and the durable store. - case object LoadAllCompleted extends Product with Serializable