object Replicator

Source
Replicator.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Replicator
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class Changed[A <: ReplicatedData](key: Key[A])(data: A) extends SubscribeResponse[A] with ReplicatorMessage with Product with Serializable

    The data value is retrieved with #get using the typed key.

    The data value is retrieved with #get using the typed key.

    See also

    Replicator.Subscribe

  2. sealed trait Command[A <: ReplicatedData] extends AnyRef
  3. final case class DataDeleted[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends RuntimeException with NoStackTrace with DeleteResponse[A] with Product with Serializable
  4. final case class Delete[A <: ReplicatedData](key: Key[A], consistency: WriteConsistency, request: Option[Any] = None) extends Command[A] with NoSerializationVerificationNeeded with Product with Serializable

    Send this message to the local Replicator to delete a data value for the given key.

    Send this message to the local Replicator to delete a data value for the given key. The Replicator will reply with one of the DeleteResponse messages.

    The optional request context is included in the reply messages. This is a convenient way to pass contextual information (e.g. original sender) without having to use ask or maintain local correlation data structures.

  5. sealed trait DeleteResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
  6. final case class DeleteSuccess[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends DeleteResponse[A] with Product with Serializable
  7. final case class Deleted[A <: ReplicatedData](key: Key[A]) extends SubscribeResponse[A] with Product with Serializable

  8. final case class Expired[A <: ReplicatedData](key: Key[A]) extends SubscribeResponse[A] with Product with Serializable

  9. final case class Get[A <: ReplicatedData](key: Key[A], consistency: ReadConsistency, request: Option[Any] = None) extends Command[A] with ReplicatorMessage with Product with Serializable

    Send this message to the local Replicator to retrieve a data value for the given key.

    Send this message to the local Replicator to retrieve a data value for the given key. The Replicator will reply with one of the GetResponse messages.

    The optional request context is included in the reply messages. This is a convenient way to pass contextual information (e.g. original sender) without having to use ask or maintain local correlation data structures.

  10. final case class GetDataDeleted[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends GetResponse[A] with Product with Serializable

    The Get request couldn't be performed because the entry has been deleted.

  11. final case class GetFailure[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends GetResponse[A] with ReplicatorMessage with Product with Serializable

    The Get request could not be fulfill according to the given consistency level and timeout.

  12. sealed abstract class GetResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
  13. final case class GetSuccess[A <: ReplicatedData](key: Key[A], request: Option[Any])(data: A) extends GetResponse[A] with ReplicatorMessage with Product with Serializable

    Reply from Get.

    Reply from Get. The data value is retrieved with #get using the typed key.

  14. final case class ModifyFailure[A <: ReplicatedData](key: Key[A], errorMessage: String, cause: Throwable, request: Option[Any]) extends UpdateFailure[A] with Product with Serializable

    If the modify function of the Update throws an exception the reply message will be this ModifyFailure message.

    If the modify function of the Update throws an exception the reply message will be this ModifyFailure message. The original exception is included as cause.

  15. final case class NotFound[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends GetResponse[A] with ReplicatorMessage with Product with Serializable
  16. final case class ReadAll(timeout: FiniteDuration) extends ReadConsistency with Product with Serializable
  17. sealed trait ReadConsistency extends AnyRef
  18. final case class ReadFrom(n: Int, timeout: FiniteDuration) extends ReadConsistency with Product with Serializable
  19. final case class ReadMajority(timeout: FiniteDuration, minCap: Int = DefaultMajorityMinCap) extends ReadConsistency with Product with Serializable
  20. final case class ReadMajorityPlus(timeout: FiniteDuration, additional: Int, minCap: Int = DefaultMajorityMinCap) extends ReadConsistency with Product with Serializable

    ReadMajority but with the given number of additional nodes added to the majority count.

    ReadMajority but with the given number of additional nodes added to the majority count. At most all nodes. Exiting nodes are excluded using ReadMajorityPlus because those are typically about to be removed and will not be able to respond.

  21. final case class ReplicaCount(n: Int) extends Product with Serializable

    Current number of replicas.

    Current number of replicas. Reply to GetReplicaCount.

  22. final case class ReplicationDeleteFailure[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends DeleteResponse[A] with Product with Serializable
  23. trait ReplicatorMessage extends Serializable

    Marker trait for remote messages serialized by akka.cluster.ddata.protobuf.ReplicatorMessageSerializer.

  24. final case class StoreFailure[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends UpdateFailure[A] with DeleteResponse[A] with Product with Serializable

    The local store or direct replication of the Update could not be fulfill according to the given consistency level due to durable store errors.

    The local store or direct replication of the Update could not be fulfill according to the given consistency level due to durable store errors. This is only used for entries that have been configured to be durable.

    The Update was still performed in memory locally and possibly replicated to some nodes, but it might not have been written to durable storage. It will eventually be disseminated to other replicas, unless the local replica crashes before it has been able to communicate with other replicas.

  25. final case class Subscribe[A <: ReplicatedData](key: Key[A], subscriber: ActorRef) extends ReplicatorMessage with Product with Serializable

    Register a subscriber that will be notified with a Changed message when the value of the given key is changed.

    Register a subscriber that will be notified with a Changed message when the value of the given key is changed. Current value is also sent as a Changed message to a new subscriber.

    In addition to subscribing to individual keys it is possible to subscribe to all keys with a given prefix by using a * at the end of the key id. For example GCounterKey("counter-*"). Notifications will be sent for all matching keys, also new keys added later.

    Subscribers will be notified periodically with the configured notify-subscribers-interval, and it is also possible to send an explicit FlushChanges message to the Replicator to notify the subscribers immediately.

    The subscriber will automatically be unregistered if it is terminated.

    If the key is deleted the subscriber is notified with a Deleted message.

    If the key is expired the subscriber is notified with an Expired message.

  26. sealed trait SubscribeResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded

  27. final case class Unsubscribe[A <: ReplicatedData](key: Key[A], subscriber: ActorRef) extends ReplicatorMessage with Product with Serializable

    Unregister a subscriber.

    Unregister a subscriber.

    See also

    Replicator.Subscribe

  28. final case class Update[A <: ReplicatedData](key: Key[A], writeConsistency: WriteConsistency, request: Option[Any])(modify: (Option[A]) => A) extends Command[A] with NoSerializationVerificationNeeded with Product with Serializable

    Send this message to the local Replicator to update a data value for the given key.

    Send this message to the local Replicator to update a data value for the given key. The Replicator will reply with one of the UpdateResponse messages.

    Note that the companion object provides apply functions for convenient construction of this message.

    The current data value for the key is passed as parameter to the modify function. It is None if there is no value for the key, and otherwise Some(data). The function is supposed to return the new value of the data, which will then be replicated according to the given writeConsistency.

    The modify function is called by the Replicator actor and must therefore be a pure function that only uses the data parameter and stable fields from enclosing scope. It must for example not access sender() reference of an enclosing actor.

  29. final case class UpdateDataDeleted[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends UpdateResponse[A] with Product with Serializable

    The Update couldn't be performed because the entry has been deleted.

  30. sealed abstract class UpdateFailure[A <: ReplicatedData] extends UpdateResponse[A]
  31. sealed abstract class UpdateResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
  32. final case class UpdateSuccess[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends UpdateResponse[A] with DeadLetterSuppression with Product with Serializable
  33. final case class UpdateTimeout[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends UpdateFailure[A] with Product with Serializable

    The direct replication of the Update could not be fulfill according to the given consistency level and timeout.

    The direct replication of the Update could not be fulfill according to the given consistency level and timeout.

    The Update was still performed locally and possibly replicated to some nodes. It will eventually be disseminated to other replicas, unless the local replica crashes before it has been able to communicate with other replicas.

  34. final case class WriteAll(timeout: FiniteDuration) extends WriteConsistency with Product with Serializable
  35. sealed trait WriteConsistency extends AnyRef
  36. final case class WriteMajority(timeout: FiniteDuration, minCap: Int = DefaultMajorityMinCap) extends WriteConsistency with Product with Serializable
  37. final case class WriteMajorityPlus(timeout: FiniteDuration, additional: Int, minCap: Int = DefaultMajorityMinCap) extends WriteConsistency with Product with Serializable

    WriteMajority but with the given number of additional nodes added to the majority count.

    WriteMajority but with the given number of additional nodes added to the majority count. At most all nodes. Exiting nodes are excluded using WriteMajorityPlus because those are typically about to be removed and will not be able to respond.

  38. final case class WriteTo(n: Int, timeout: FiniteDuration) extends WriteConsistency with Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val DefaultMajorityMinCap: Int
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def flushChanges: FlushChanges

    Java API: The FlushChanges instance

  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  11. def getReplicaCount: GetReplicaCount

    Java API: The GetReplicaCount instance

  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. def props(settings: ReplicatorSettings): Props

    Factory method for the akka.actor.Props of the Replicator actor.

  18. def readLocal: ReadLocal

    Java API: The ReadLocal instance

  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. def writeLocal: WriteLocal

    Java API: The WriteLocal instance

  25. case object FlushChanges extends Product with Serializable

    Notify subscribers of changes now, otherwise they will be notified periodically with the configured notify-subscribers-interval.

  26. case object GetReplicaCount extends Product with Serializable

    Get current number of replicas, including the local replica.

    Get current number of replicas, including the local replica. Will reply to sender with ReplicaCount.

  27. case object ReadLocal extends ReadConsistency with Product with Serializable
  28. object Update extends Serializable
  29. case object WriteLocal extends WriteConsistency with Product with Serializable

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped