public abstract class AbstractTopologyBuilder<T extends Route> extends Object implements org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener<T>, TopologyReference, org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener
Modifier and Type | Field and Description |
---|---|
protected int |
listenerScheduledRestartEnforceCounter |
protected long |
listenerScheduledRestartTime |
Modifier | Constructor and Description |
---|---|
protected |
AbstractTopologyBuilder(org.opendaylight.controller.md.sal.binding.api.DataBroker dataProvider,
RibReference locRibReference,
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId topologyId,
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.TopologyTypes types,
Class<? extends AddressFamily> afi,
Class<? extends SubsequentAddressFamily> safi) |
protected |
AbstractTopologyBuilder(org.opendaylight.controller.md.sal.binding.api.DataBroker dataProvider,
RibReference locRibReference,
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId topologyId,
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.TopologyTypes types,
Class<? extends AddressFamily> afi,
Class<? extends SubsequentAddressFamily> safi,
long listenerResetLimitInMillsec,
int listenerResetEnforceCounter) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
clearTopology() |
com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> |
close() |
protected abstract void |
createObject(org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction trans,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> id,
T value) |
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> |
getInstanceIdentifier()
Returns the InstanceIdentifier of the object.
|
protected abstract org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> |
getRouteWildcard(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Tables> tablesId) |
void |
onDataTreeChanged(Collection<org.opendaylight.controller.md.sal.binding.api.DataTreeModification<T>> changes) |
void |
onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> transactionChain,
org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction,
Throwable cause) |
void |
onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> transactionChain) |
protected abstract void |
removeObject(org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction trans,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> id,
T value) |
protected void |
resetListener()
Reset the data change listener to its initial status.
|
protected void |
resetTransactionChain()
Reset the transaction chain only so that the PingPong transaction chain will become usable again.
|
protected boolean |
restartTransactionChainOnDemand()
There are a few reasons we want to schedule a listener restart in a delayed manner:
1.
|
protected void |
routeChanged(org.opendaylight.controller.md.sal.binding.api.DataTreeModification<T> change,
org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction trans) |
protected void |
scheduleListenerRestart() |
void |
start() |
protected long listenerScheduledRestartTime
protected int listenerScheduledRestartEnforceCounter
protected AbstractTopologyBuilder(org.opendaylight.controller.md.sal.binding.api.DataBroker dataProvider, RibReference locRibReference, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId topologyId, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.TopologyTypes types, Class<? extends AddressFamily> afi, Class<? extends SubsequentAddressFamily> safi, long listenerResetLimitInMillsec, int listenerResetEnforceCounter)
protected AbstractTopologyBuilder(org.opendaylight.controller.md.sal.binding.api.DataBroker dataProvider, RibReference locRibReference, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId topologyId, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.TopologyTypes types, Class<? extends AddressFamily> afi, Class<? extends SubsequentAddressFamily> safi)
public final void start()
protected abstract org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> getRouteWildcard(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Tables> tablesId)
protected abstract void createObject(org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction trans, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> id, T value)
protected abstract void removeObject(org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction trans, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> id, T value)
protected abstract void clearTopology()
public final org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> getInstanceIdentifier()
InstanceReference
getInstanceIdentifier
in interface InstanceReference<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology>
public final com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> close()
public void onDataTreeChanged(Collection<org.opendaylight.controller.md.sal.binding.api.DataTreeModification<T>> changes)
protected void routeChanged(org.opendaylight.controller.md.sal.binding.api.DataTreeModification<T> change, org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction trans)
protected void resetListener()
protected void resetTransactionChain()
protected boolean restartTransactionChainOnDemand()
protected void scheduleListenerRestart()
public final void onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> transactionChain, org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction, Throwable cause)
onTransactionChainFailed
in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener
public final void onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> transactionChain)
onTransactionChainSuccessful
in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener
Copyright © 2019 OpenDaylight. All rights reserved.