BUG-5280: synchronize access to local histories
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / OperationCallback.java
index b9445361bb9ff43521b124c5c20c6aa6b1c06358..da0b62b7c398e98aa80d15a008c0a9adfd6c518d 100644 (file)
@@ -8,8 +8,46 @@
 
 package org.opendaylight.controller.cluster.datastore;
 
-public interface OperationCallback {
+import java.util.concurrent.atomic.AtomicReference;
+
+interface OperationCallback {
+    OperationCallback NO_OP_CALLBACK = new OperationCallback() {
+        @Override
+        public void run() {
+        }
+
+        @Override
+        public void success() {
+        }
+
+        @Override
+        public void failure() {
+        }
+
+        @Override
+        public void pause() {
+        }
+
+        @Override
+        public void resume() {
+        }
+    };
+
+    class Reference extends AtomicReference<OperationCallback> {
+        private static final long serialVersionUID = 1L;
+
+        Reference(OperationCallback initialValue) {
+            super(initialValue);
+        }
+    }
+
     void run();
+
+    void pause();
+
+    void resume();
+
     void success();
+
     void failure();
 }