readyTransaction();
+ public String getTransactionChainId() {
+ return transactionChainId;
+ }
- void writeData(YangInstanceIdentifier path, NormalizedNode, ?> data);
+ protected ActorContext getActorContext() {
+ return actorContext;
+ }
- void deleteData(YangInstanceIdentifier path);
+ /**
+ * Interfaces for transaction operations to be invoked later.
+ */
+ private static interface TransactionOperation {
+ void invoke(TransactionContext transactionContext);
+ }
- void mergeData(YangInstanceIdentifier path, NormalizedNode, ?> data);
+ /**
+ * Implements a Future OnComplete callback for a CreateTransaction message. This class handles
+ * retries, up to a limit, if the shard doesn't have a leader yet. This is done by scheduling a
+ * retry task after a short delay.
+ *
+ * The end result from a completed CreateTransaction message is a TransactionContext that is
+ * used to perform transaction operations. Transaction operations that occur before the
+ * CreateTransaction completes are cache and executed once the CreateTransaction completes,
+ * successfully or not.
+ */
+ private class TransactionFutureCallback extends OnComplete