* 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
49 lines
1.1 KiB
Java
49 lines
1.1 KiB
Java
/**
|
|
* Copyright (C) 2017 Lightbend Inc. <http://www.lightbend.com>
|
|
*/
|
|
package akka.cluster.ddata;
|
|
|
|
|
|
import java.util.Optional;
|
|
|
|
import akka.cluster.UniqueAddress;
|
|
|
|
// different delta type
|
|
public class JavaImplOfDeltaReplicatedData2
|
|
extends AbstractDeltaReplicatedData<JavaImplOfDeltaReplicatedData2, JavaImplOfDeltaReplicatedData2.Delta> {
|
|
|
|
public static class Delta extends AbstractReplicatedData<Delta> implements ReplicatedDelta, RequiresCausalDeliveryOfDeltas {
|
|
@Override
|
|
public Delta mergeData(Delta other) {
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public JavaImplOfDeltaReplicatedData2 zero() {
|
|
return new JavaImplOfDeltaReplicatedData2();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public JavaImplOfDeltaReplicatedData2 mergeData(JavaImplOfDeltaReplicatedData2 other) {
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public JavaImplOfDeltaReplicatedData2 mergeDeltaData(Delta other) {
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public Optional<Delta> deltaData() {
|
|
return Optional.empty();
|
|
}
|
|
|
|
@Override
|
|
public JavaImplOfDeltaReplicatedData2 resetDelta() {
|
|
return this;
|
|
}
|
|
|
|
|
|
|
|
}
|