Expose completion future from WriteOperations 41/89141/19
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 20 Apr 2020 09:35:37 +0000 (11:35 +0200)
committerRobert Varga <nite@hq.sk>
Sun, 14 Jan 2024 08:35:23 +0000 (08:35 +0000)
commit94fb90ab450470ee1b3225d737cd394f034ea932
tree58e9d9f459d08db984dcacaf48cd2350c50da390
parent0032cbc207750ee84b76dfc395c29ade7adc76d4
Expose completion future from WriteOperations

WriteOperations (and its counterparts) does not allow code to control
when a transaction is committed or aborted. This adds a layer of
separation, but unfortunately also prevents the encapsulated code from
reacting to when the changes are actually committed (or not).

This capability is quite important for chaining cache updates and
similar tasks.

Expose a FluentFuture<?>. which is guaranteed to complete when its
transaction is completed -- either successfully or not.

JIRA: MDSAL-61
Change-Id: Ie75671842b93fb9e63f1c2aa9ec72f25904da039
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 files changed:
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/WriteOperations.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMWriteTransactionAdapter.java
binding/mdsal-binding-spi/src/main/java/org/opendaylight/mdsal/binding/spi/ForwardingReadWriteTransaction.java
binding/mdsal-binding-spi/src/main/java/org/opendaylight/mdsal/binding/spi/ForwardingWriteTransaction.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/TransactionAdapter.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/TypedWriteTransaction.java
binding/mdsal-binding-util/src/main/java/org/opendaylight/mdsal/binding/util/TypedWriteTransactionImpl.java
dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeWriteOperations.java
dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeWriteTransaction.java
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractPingPongTransactionChain.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMDataReadWriteTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/ForwardingDOMDataWriteTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/PingPongTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/UncancellableListenableFuture.java [new file with mode: 0644]
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/AbstractTracingWriteTransaction.java