@Beta
@NonNullByDefault
public interface DataTreeEventCallbackRegistrar
The current implementation assumes that the expected instance will eventually be added, updated or deleted; if
that never happens in the first place, then an internal data structure could fill up and theoretically lead to OOM
problems if you do not specify a timeout. Likewise, if DataTreeEventCallbackRegistrar.NextAction.CALL_AGAIN
is used but no next event
matching path ever occurs. In the "Full Sync Upgrade" scenario, for which this utility was originally created, this
is not a problem, as we are sure the subsequent changes are about to happen (just out of originally expected order).
Modifier and Type | Interface and Description |
---|---|
static class |
DataTreeEventCallbackRegistrar.NextAction |
Modifier and Type | Method and Description |
---|---|
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Consumer<T> callback) |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Consumer<T> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Function<T,DataTreeEventCallbackRegistrar.NextAction> callback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Function<T,DataTreeEventCallbackRegistrar.NextAction> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiConsumer<T,T> callback)
Call back when expected instance was added or updated, with implicit
DataTreeEventCallbackRegistrar.NextAction.UNREGISTER . |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiConsumer<T,T> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback)
Call back when expected instance was added or updated, with NextAction support.
|
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Consumer<T> callback) |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Consumer<T> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Function<T,DataTreeEventCallbackRegistrar.NextAction> callback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
Function<T,DataTreeEventCallbackRegistrar.NextAction> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiConsumer<T,T> callback) |
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiConsumer<T,T> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback,
Duration timeoutDuration,
Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Function<T,DataTreeEventCallbackRegistrar.NextAction> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Function<T,DataTreeEventCallbackRegistrar.NextAction> callback)
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Consumer<T> callback)
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAdd(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Consumer<T> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback)
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiConsumer<T,T> callback)
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiConsumer<T,T> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiFunction<T,T,DataTreeEventCallbackRegistrar.NextAction> callback)
store
- the expected data storepath
- the path to watch for changes oncallback
- the callback as BiFunction
, where the first argument is the data before the update
or null in case of an add, the second argument is the data after the update (or add; never null),
and the returned value determines whether to keep listening for changes or not anymore.default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiConsumer<T,T> callback)
DataTreeEventCallbackRegistrar.NextAction.UNREGISTER
.
See onAddOrUpdate(LogicalDatastoreType, InstanceIdentifier, BiFunction)
for more details.default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onAddOrUpdate(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, BiConsumer<T,T> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Function<T,DataTreeEventCallbackRegistrar.NextAction> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
<T extends org.opendaylight.yangtools.yang.binding.DataObject> void onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Function<T,DataTreeEventCallbackRegistrar.NextAction> callback)
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Consumer<T> callback)
default <T extends org.opendaylight.yangtools.yang.binding.DataObject> void onRemove(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, Consumer<T> callback, Duration timeoutDuration, Consumer<org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier<T>> timedOutCallback)
Copyright © 2019 OpenDaylight. All rights reserved.