public interface CursorAwareWriteTransaction extends DataTreeCursorProvider
Modifier and Type | Method and Description |
---|---|
boolean |
cancel()
Cancels the transaction.
|
@NonNull com.google.common.util.concurrent.FluentFuture<? extends CommitInfo> |
commit()
Commits this transaction to be asynchronously applied to update the logical data tree.
|
<T extends DataObject> |
createCursor(DataTreeIdentifier<T> path)
Create a
DataTreeWriteCursor anchored at the specified path. |
<T extends DataObject> DataTreeWriteCursor createCursor(DataTreeIdentifier<T> path)
DataTreeWriteCursor
anchored at the specified path.
There can only be one cursor open at a time.
createCursor
in interface DataTreeCursorProvider
path
- Path at which the cursor is to be anchoredIllegalStateException
- when there's an open cursor, or this transaction is closed already.boolean cancel()
A transaction can only be cancelled if it has not yet been committed.
Invoking cancel() on failed or already canceled will have no effect, and transaction is considered cancelled.
Invoking cancel() on finished transaction (future returned by commit()
already
successfully completed) will always fail (return false).
@CheckReturnValue @NonNull com.google.common.util.concurrent.FluentFuture<? extends CommitInfo> commit()
Note: It is strongly recommended to process the FluentFuture result in an asynchronous manner rather than using the blocking get() method.
This call logically seals the transaction, which prevents the client from further changing
data tree using this transaction's cursor. Any subsequent calls to
createCursorCursor(DOMDataTreeIdentifier
or any of the cursor's methods will fail with IllegalStateException
.
The transaction is marked as submitted and enqueued into the shard back-end for processing.
TransactionCommitFailedException
or an exception derived from TransactionCommitFailedException.Copyright © 2019 OpenDaylight. All rights reserved.