causal delivery of deltas, #22188
* keep track of delta interval versions and skip deltas that are not consequtive, i.e. when some delta message was lost * send the delta versions in the full state gossip to sync up the expected versions after dropped deltas * implementation of deltas for ORSet * refactoring of the delta types to allow for different type for the delta and the full state * extensive tests * mima filter * performance optimizations * simple pruning of deltas * Java API * update documentation * KeyId type alias * Use InternalApi annotation
This commit is contained in:
parent
94afbee179
commit
b700b840d1
41 changed files with 5010 additions and 1950 deletions
|
|
@ -11,6 +11,8 @@ object Key {
|
|||
|
||||
private[akka]type KeyR = Key[ReplicatedData]
|
||||
|
||||
type KeyId = String
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -21,7 +23,7 @@ object Key {
|
|||
* Specific classes are provided for the built in data types, e.g. [[ORSetKey]],
|
||||
* and you can create your own keys.
|
||||
*/
|
||||
abstract class Key[+T <: ReplicatedData](val id: String) extends Serializable {
|
||||
abstract class Key[+T <: ReplicatedData](val id: Key.KeyId) extends Serializable {
|
||||
|
||||
override final def equals(o: Any): Boolean = o match {
|
||||
case k: Key[_] ⇒ id == k.id
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue