@ThreadSafe public final class RIBImpl extends BGPRIBStateImpl implements org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService, RIB, org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener, org.opendaylight.yangtools.yang.model.api.SchemaContextListener, AutoCloseable
Constructor and Description |
---|
RIBImpl(org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider provider,
RibId ribId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs,
BgpId localBgpId,
ClusterIdentifier clusterId,
RIBExtensionConsumerContext extensions,
BGPDispatcher dispatcher,
org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory codecFactory,
org.opendaylight.controller.md.sal.dom.api.DOMDataBroker domDataBroker,
List<BgpTableType> localTables,
Map<TablesKey,PathSelectionMode> bestPathSelectionStrategies,
org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy classStrategy,
BgpDeployer.WriteConfiguration configurationWriter) |
Modifier and Type | Method and Description |
---|---|
protected com.google.common.base.MoreObjects.ToStringHelper |
addToStringAttributes(com.google.common.base.MoreObjects.ToStringHelper toStringHelper) |
void |
close() |
com.google.common.util.concurrent.ListenableFuture<Void> |
closeServiceInstance() |
org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain |
createPeerChain(org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener listener)
Allocate a new transaction chain for use with a peer.
|
BgpId |
getBgpIdentifier() |
CodecsRegistry |
getCodecsRegistry() |
BGPDispatcher |
getDispatcher() |
ExportPolicyPeerTracker |
getExportPolicyPeerTracker(TablesKey tablesKey)
Returns ExportPolicyPeerTracker for specific tableKey, where peer can register himself
as supporting the table.
|
org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier |
getIdentifier() |
ImportPolicyPeerTracker |
getImportPolicyPeerTracker() |
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber |
getLocalAs() |
Set<? extends BgpTableType> |
getLocalTables()
Return the set of table identifiers which are accepted and advertised
by this RIB instance.
|
Set<TablesKey> |
getLocalTablesKeys() |
BGPRenderStats |
getRenderStats() |
RIBExtensionConsumerContext |
getRibExtensions()
Return the RIB extensions available to the RIB instance.
|
org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier |
getRibIServiceGroupIdentifier()
Return common ServiceGroupIdentifier to be used between same group cluster service
|
RIBSupportContextRegistry |
getRibSupportContext()
Return the RIB extensions available to the RIB instance
with additional RIB specific context such as
translation between DOM and Binding.
|
org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService |
getService()
Return instance of DOMDataTreeChangeService, where consumer can register to
listen on DOM data changes.
|
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier |
getYangRibId()
Return YangInstanceIdentifier of BGP Rib with its RibId.
|
void |
instantiateServiceInstance() |
void |
onGlobalContextUpdated(org.opendaylight.yangtools.yang.model.api.SchemaContext context) |
void |
onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain,
org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction,
Throwable cause) |
void |
onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain) |
org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration |
registerClusterSingletonService(org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService clusterSingletonService) |
String |
toString() |
getAs, getPathCount, getPathsCount, getPrefixesCount, getPrefixesCount, getRIBState, getRouteId, getTotalPathsCount, getTotalPrefixesCount, registerTotalPathCounter, registerTotalPrefixesCounter
getInstanceIdentifier
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getInstanceIdentifier
public RIBImpl(org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider provider, RibId ribId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs, BgpId localBgpId, ClusterIdentifier clusterId, RIBExtensionConsumerContext extensions, BGPDispatcher dispatcher, org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory codecFactory, org.opendaylight.controller.md.sal.dom.api.DOMDataBroker domDataBroker, List<BgpTableType> localTables, @Nonnull Map<TablesKey,PathSelectionMode> bestPathSelectionStrategies, org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy classStrategy, BgpDeployer.WriteConfiguration configurationWriter)
protected com.google.common.base.MoreObjects.ToStringHelper addToStringAttributes(com.google.common.base.MoreObjects.ToStringHelper toStringHelper)
public void close() throws Exception
close
in interface AutoCloseable
Exception
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
getLocalAs
in interface RIB
public BgpId getBgpIdentifier()
getBgpIdentifier
in interface RIB
@Nonnull public Set<? extends BgpTableType> getLocalTables()
RIB
getLocalTables
in interface RIB
public BGPDispatcher getDispatcher()
getDispatcher
in interface RIB
public void onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain, 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 void onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain)
onTransactionChainSuccessful
in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener
public Set<TablesKey> getLocalTablesKeys()
getLocalTablesKeys
in interface RIB
public org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService getService()
RIB
getService
in interface RIB
public BGPRenderStats getRenderStats()
getRenderStats
in interface RIB
public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier getYangRibId()
RIB
getYangRibId
in interface RIB
public org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain createPeerChain(org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener listener)
RIB
createPeerChain
in interface RIB
listener
- TransactionChainListener
handling recoverypublic RIBExtensionConsumerContext getRibExtensions()
RIB
getRibExtensions
in interface RIB
public RIBSupportContextRegistry getRibSupportContext()
RIB
getRibSupportContext
in interface RIB
public void onGlobalContextUpdated(org.opendaylight.yangtools.yang.model.api.SchemaContext context)
onGlobalContextUpdated
in interface org.opendaylight.yangtools.yang.model.api.SchemaContextListener
public CodecsRegistry getCodecsRegistry()
getCodecsRegistry
in interface RIB
public ImportPolicyPeerTracker getImportPolicyPeerTracker()
getImportPolicyPeerTracker
in interface RIB
public ExportPolicyPeerTracker getExportPolicyPeerTracker(TablesKey tablesKey)
RIB
getExportPolicyPeerTracker
in interface RIB
tablesKey
- supported tablepublic void instantiateServiceInstance()
instantiateServiceInstance
in interface org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService
public com.google.common.util.concurrent.ListenableFuture<Void> closeServiceInstance()
closeServiceInstance
in interface org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService
public org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier getIdentifier()
getIdentifier
in interface org.opendaylight.yangtools.concepts.Identifiable<org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier>
public org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration registerClusterSingletonService(org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService clusterSingletonService)
registerClusterSingletonService
in interface org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider
public org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier getRibIServiceGroupIdentifier()
RIB
getRibIServiceGroupIdentifier
in interface RIB
Copyright © 2018 OpenDaylight. All rights reserved.