o

akka.cluster.ddata

DurableStore

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
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DurableStore
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final class DurableDataEnvelope extends ReplicatorMessage

    Wrapper class for serialization of a data value.

    Wrapper class for serialization of a data value. The ReplicatorMessageSerializer will serialize/deserialize the wrapped ReplicatedData including its serializerId and manifest.

  2. final case class Expire(keys: Set[KeyId]) extends Product with Serializable

    Request to expire (remove) entries.

  3. final case class LoadData(data: Map[KeyId, DurableDataEnvelope]) extends Product with Serializable
  4. class LoadFailed extends RuntimeException
  5. 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 contained replyTo actor.

  6. final case class StoreReply(successMsg: Any, failureMsg: Any, replyTo: ActorRef) extends Product with Serializable

Value Members

  1. case object LoadAll extends Product with Serializable

    Request to load all entries.

    Request to load all entries.

    It must 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.

  2. case object LoadAllCompleted extends Product with Serializable