import akka.actor.ActorSelection;
import com.google.common.util.concurrent.SettableFuture;
+import java.util.Optional;
+import java.util.SortedSet;
import org.opendaylight.controller.cluster.datastore.messages.AbstractRead;
import org.opendaylight.controller.cluster.datastore.modification.AbstractModification;
import scala.concurrent.Future;
interface TransactionContext {
void closeTransaction();
- Future<ActorSelection> readyTransaction();
+ Future<ActorSelection> readyTransaction(Boolean havePermit, Optional<SortedSet<String>> participatingShardNames);
- void executeModification(AbstractModification modification);
+ void executeModification(AbstractModification modification, Boolean havePermit);
- <T> void executeRead(AbstractRead<T> readCmd, SettableFuture<T> promise);
+ <T> void executeRead(AbstractRead<T> readCmd, SettableFuture<T> promise, Boolean havePermit);
- Future<Object> directCommit();
+ Future<Object> directCommit(Boolean havePermit);
/**
* Invoked by {@link TransactionContextWrapper} when it has finished handing