Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Bug 5740: Add ControlMessage interface to raft messages
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
base
/
messages
/
ApplySnapshot.java
diff --git
a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/ApplySnapshot.java
b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/ApplySnapshot.java
index 54ee02a057ec1805d70e1a15cc264ab3eb0ea956..7fec7e25f9399a0f6ce71ebf7dc60f43bb4e0eec 100644
(file)
--- a/
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/ApplySnapshot.java
+++ b/
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/ApplySnapshot.java
@@
-8,22
+8,52
@@
package org.opendaylight.controller.cluster.raft.base.messages;
package org.opendaylight.controller.cluster.raft.base.messages;
-import org.opendaylight.controller.cluster.raft.Snapshot;
-
-import java.io.Serializable;
+import akka.dispatch.ControlMessage;
+import com.google.common.base.Preconditions;
+import javax.annotation.Nonnull;
+import org.opendaylight.controller.cluster.raft.persisted.Snapshot;
/**
/**
- * Internal message, issued by follower to its actor
+ * Internal message, issued by follower to its actor
.
*/
*/
-public class ApplySnapshot implements Serializable {
- private static final long serialVersionUID = 1L;
+public class ApplySnapshot implements ControlMessage {
+ private static final Callback NOOP_CALLBACK = new Callback() {
+ @Override
+ public void onSuccess() {
+ // No-op
+ }
+
+ @Override
+ public void onFailure() {
+ // No-op
+ }
+ };
+
private final Snapshot snapshot;
private final Snapshot snapshot;
+ private final Callback callback;
public ApplySnapshot(Snapshot snapshot) {
public ApplySnapshot(Snapshot snapshot) {
- this.snapshot = snapshot;
+ this(snapshot, NOOP_CALLBACK);
+ }
+
+ public ApplySnapshot(@Nonnull Snapshot snapshot, @Nonnull Callback callback) {
+ this.snapshot = Preconditions.checkNotNull(snapshot);
+ this.callback = Preconditions.checkNotNull(callback);
}
}
+ @Nonnull
public Snapshot getSnapshot() {
return snapshot;
}
public Snapshot getSnapshot() {
return snapshot;
}
+
+ @Nonnull
+ public Callback getCallback() {
+ return callback;
+ }
+
+ public interface Callback {
+ void onSuccess();
+
+ void onFailure();
+ }
}
}