object Replicator
- Alphabetic
- By Inheritance
- Replicator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- 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
- sealed trait Command[A <: ReplicatedData] extends AnyRef
- final case class DataDeleted[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends RuntimeException with NoStackTrace with DeleteResponse[A] with Product with Serializable
- 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 givenkey
.Send this message to the local
Replicator
to delete a data value for the givenkey
. TheReplicator
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 useask
or maintain local correlation data structures. - sealed trait DeleteResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
- final case class DeleteSuccess[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends DeleteResponse[A] with Product with Serializable
- final case class Deleted[A <: ReplicatedData](key: Key[A]) extends SubscribeResponse[A] with Product with Serializable
- See also
- 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 givenkey
.Send this message to the local
Replicator
to retrieve a data value for the givenkey
. TheReplicator
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 useask
or maintain local correlation data structures. - 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.
- 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.
- sealed abstract class GetResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
- 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. - 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 thisModifyFailure
message.If the
modify
function of the Update throws an exception the reply message will be thisModifyFailure
message. The original exception is included ascause
. - final case class NotFound[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends GetResponse[A] with ReplicatorMessage with Product with Serializable
- final case class ReadAll(timeout: FiniteDuration) extends ReadConsistency with Product with Serializable
- sealed trait ReadConsistency extends AnyRef
- final case class ReadFrom(n: Int, timeout: FiniteDuration) extends ReadConsistency with Product with Serializable
- final case class ReadMajority(timeout: FiniteDuration, minCap: Int = DefaultMajorityMinCap) extends ReadConsistency with Product with Serializable
- final case class ReadMajorityPlus(timeout: FiniteDuration, additional: Int, minCap: Int = DefaultMajorityMinCap) extends ReadConsistency with Product with Serializable
ReadMajority
but with the given number ofadditional
nodes added to the majority count.ReadMajority
but with the given number ofadditional
nodes added to the majority count. At most all nodes. Exiting nodes are excluded usingReadMajorityPlus
because those are typically about to be removed and will not be able to respond. - final case class ReplicaCount(n: Int) extends Product with Serializable
Current number of replicas.
Current number of replicas. Reply to
GetReplicaCount
. - final case class ReplicationDeleteFailure[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends DeleteResponse[A] with Product with Serializable
- trait ReplicatorMessage extends Serializable
Marker trait for remote messages serialized by pekko.cluster.ddata.protobuf.ReplicatorMessageSerializer.
- 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. - 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.Subscribers will be notified periodically with the configured
notify-subscribers-interval
, and it is also possible to send an explicitFlushChanges
message to theReplicator
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.
- sealed trait SubscribeResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
- See also
- 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
- 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 givenkey
.Send this message to the local
Replicator
to update a data value for the givenkey
. TheReplicator
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 themodify
function. It isNone
if there is no value for thekey
, and otherwiseSome(data)
. The function is supposed to return the new value of the data, which will then be replicated according to the givenwriteConsistency
.The
modify
function is called by theReplicator
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 accesssender()
reference of an enclosing actor. - 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.
- sealed abstract class UpdateFailure[A <: ReplicatedData] extends UpdateResponse[A]
- sealed abstract class UpdateResponse[A <: ReplicatedData] extends NoSerializationVerificationNeeded
- final case class UpdateSuccess[A <: ReplicatedData](key: Key[A], request: Option[Any]) extends UpdateResponse[A] with DeadLetterSuppression with Product with Serializable
- 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. - final case class WriteAll(timeout: FiniteDuration) extends WriteConsistency with Product with Serializable
- sealed trait WriteConsistency extends AnyRef
- final case class WriteMajority(timeout: FiniteDuration, minCap: Int = DefaultMajorityMinCap) extends WriteConsistency with Product with Serializable
- final case class WriteMajorityPlus(timeout: FiniteDuration, additional: Int, minCap: Int = DefaultMajorityMinCap) extends WriteConsistency with Product with Serializable
WriteMajority
but with the given number ofadditional
nodes added to the majority count.WriteMajority
but with the given number ofadditional
nodes added to the majority count. At most all nodes. Exiting nodes are excluded usingWriteMajorityPlus
because those are typically about to be removed and will not be able to respond. - final case class WriteTo(n: Int, timeout: FiniteDuration) extends WriteConsistency with 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
- val DefaultMajorityMinCap: Int
- 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
- def flushChanges: FlushChanges
Java API: The
FlushChanges
instance - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getReplicaCount: GetReplicaCount
Java API: The
GetReplicaCount
instance - 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()
- def props(settings: ReplicatorSettings): Props
Factory method for the pekko.actor.Props of the Replicator actor.
- def readLocal: ReadLocal
Java API: The
ReadLocal
instance - 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])
- def writeLocal: WriteLocal
Java API: The
WriteLocal
instance - case object FlushChanges extends Product with Serializable
Notify subscribers of changes now, otherwise they will be notified periodically with the configured
notify-subscribers-interval
. - 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.
- case object ReadLocal extends ReadConsistency with Product with Serializable
- object Update extends Serializable
- case object WriteLocal extends WriteConsistency with Product with Serializable